[英]Linux | Shell implementation in C | Input redirection does not display
我正在C中實現Shell,並且在實現重定向操作時,我看到輸出重定向工作正常,但是輸入重定向操作卻什么也沒做。 (在標准輸出中沒有顯示)
COMMAND-> wc < out.txt
Child 12878 died 0x008B
COMMAND->
[我的提示符是COMMAND->
當我打印孩子死亡時的狀態時,它的值為0x8B。 這表示什么嗎?
我關注了這篇文章,重定向實現的核心部分與此處建議的類似。 在C中實現Shell並需要幫助來處理輸入/輸出重定向
這是輸入重定向發生的要點:
in = open(file_name, O_RDONLY);
dup2(in,0);
close(in);
execvp("wc",args);
(由於這是一項現場作業,因此我無法發布我的全部代碼,我可能最終會陷入MOSS)
在execvp
中傳遞的指針為NULL
,因此為SIGSEGV
。
輸入的命令的后端處理(基於管道和重定向將它們隔離)有錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.