簡體   English   中英

Linux | C語言中的Shell實現| 輸入重定向不顯示

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM