次のようなスクリプトがあるとします。
役に立たない.sh
echo "This Is Error" 1>&2
echo "This Is Output"
そして、別のシェルスクリプトがあります:
また役に立たない.sh
./useless.sh | sed 's/Output/Useless/'
「This Is Error」または useless.sh のその他の stderr を変数にキャプチャしたいと考えています。それをエラーと呼びましょう。
何かに stdout を使用していることに注意してください。stdout を引き続き使用したいので、この場合、stderr を stdout にリダイレクトしても役に立ちません。
だから、基本的に、私はしたいです
./useless.sh 2> $ERROR | ...
しかし、それは明らかに機能しません。
できることも知っている
./useless.sh 2> /tmp/Error
ERROR=`cat /tmp/Error`
しかし、それは醜く不必要です。
残念ながら、ここで答えが出ない場合は、それが私がしなければならないことです.
別の方法があることを願っています。
誰にも良いアイデアはありますか?