標準入力に書き込まないのはなぜですか?

標準入力に書き込まないのはなぜですか?

~によるとこの回答、、、およびはすべて最初に同じ場所(と同じ)に接続されており、合計stdinを読み書きする規則は次のとおりです。stdoutstderr/dev/ttystdinstdoutstderr

それでは、なぜ1つにマージせずに分離stdinするのですか?stdout

ベストアンサー1

FILEポインタ(stdin、stdout、stderrなど)には、デフォルトのファイル記述子を1つだけ含めることができます。したがって、次のパイプライン設定がある場合:

ls | grep foo | less

grepのstdin、stdout、およびstderrには2つのリンクパイプライン()があるため、すべて異なるfileno()があります。したがって、他のファイルも必要です。

おすすめ記事