stdinをstdoutとstderrにフォークしますか?

stdinをstdoutとstderrにフォークしますか?

標準入力をstdoutとstderrに分岐できるかどうか疑問に思います。これらのこと、

$ echo "hi" | fork > std.out 2> std.err
$ cat std.out
hi
$ cat std.err
hi

それとも、入力を2つの異なるターゲットに分岐する機能がありませんか?このteeコマンドは私が望むものに似ているようですが、ファイルに書きたくありません。ありがとうございます。

ベストアンサー1

私はLinuxの古典的な「すべてがファイルです」を理解する必要がありました。このteeユーティリティは標準入力を標準出力にコピーし、ファイルにコピーします。したがって、stderrが書き込むファイルを識別すると、/dev/stderrstdinを両方のファイルに書き込んで次のようにリダイレクトできます。

$ echo "hi" | tee /dev/stderr > test.out 2> test.err
$ cat test.out
hi
$ cat test.err
hi

おすすめ記事