" Linux:The Complete Reference 6th Edition "(pg。44)によれば、リダイレクトシンボルを使用してSTDERR のみをパイプできます|&
。
これをテストするための非常に単純なスクリプトを作成しました。
#!/bin/bash
echo "Normal Text."
echo "Error Text." >&2
このスクリプトを次のように実行します。
./script.sh |& sed 's:^:\t:'
おそらく、STDERRに出力された行だけがインデントされます。ただし、実際には次のように機能しません。
Normal Text.
Error Text.
ここで何が間違っていますか?
./script.sh > /tmp/stdout_goes_here |& grep 'grepping_script_stderr'
仕事をしないことを目的として、すなわち:リダイレクトscript.sh
さんstdout
(、最初に起こるべきマニュアルの抜粋によるもの)、その後、許可するgrep
スクリプトのを処理しますstderr
。代わりにstderr
、tdout`の両方が最終的にstdout_goes_here