のようなコマンドls
はどのようにその標準出力が何であるかを知っていますか?
ls
ターゲットstdoutが何であるかによって動作が異なるようです。たとえば、私が行う場合:
ls /home/matt/tmp
結果は次のとおりです。
a.txt b.txt c.txt
しかし私がするなら
ls /home/matt/tmp | cat
結果は次のとおりです(つまり、結果ごとの改行):
a.txt
b.txt
c.txt
プロセスには、標準出力用のファイル記述子1が渡されますか?結果のフォーマット方法をどのように決定しますか?ファイル記述子は情報を明らかにしますか?