を使用して両方をキャプチャするのSTDERR
とSTDOUT
、同じファイルにキャプチャするのが最適な順序はわかりませんtee
。私がファイルにパイプしたい場合、リダイレクト後にファイルハンドルをマップする必要があることを知っています、すなわち
find . >/tmp/output.txt 2>&1
これは、送信するためにシェルに指示STDOUT
を/tmp/output.txt
してから送信するためSTDERR
にSTDOUT
(今に送信されています/tmp/output.txt
)。
2>&1
ファイルをリダイレクトする前にを実行しようとしても、望ましい効果は得られません。
ただし、パイプを使用したい場合tee
は、次のようになります。
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?
|&
使用した場合、command1の標準エラーはパイプを介してcommand2の標準入力に接続されます。これはの省略形です2>&1 |
。標準エラーのこの暗黙のリダイレクトは、コマンドで指定されたリダイレクトの後に実行されます。」