C でシェルを実装しています。リダイレクト操作を実装すると、出力リダイレクトは正常に機能しますが、入力リダイレクト操作は何もしません。(標準出力には何も表示されません)
COMMAND-> wc < out.txt
Child 12878 died 0x008B
COMMAND->
[ここで、COMMAND-> は私のプロンプトです]
子が死亡したときに子のステータスを出力すると、0x8B の値が取得されます。これは何か意味がありますか?
この投稿をフォローしましたが、リダイレクトの実装のコア部分は、ここで提案されているものと似ています。 C でシェルを実装しており、入力/出力リダイレクトの処理に助けが必要
これは、入力リダイレクトで何が起こっているかの要点です:
in = open(file_name, O_RDONLY);
dup2(in,0);
close(in);
execvp("wc",args);
(これはライブの宿題であり、MOSS に巻き込まれる可能性があるため、コード全体を投稿することはできません)