|
こんにちは。質問があります。 標準出力と標準エラー出力を画面に出力しつつ エラー出力のみをファイルに保存したいのですが shと標準的なUNIXのコマンドを使って実現可能な ものなのでしょうか。 これまでに試したのは以下のような方法です。 --- test.sh --- #!/bin/sh echo stdout echo stderr 1>&2 --- [その1] $ ./test.sh 2>error.log エラーが画面出力されないので× いざとなれば別の仮想端末で $ tail -f error.log としてもいいのですが。 [その2] $ ./tesu.sh 2>&1 | tee error.log エラー以外の出力も保存されるので× |
|
>>2549 CZ http://www.ainet.or.jp/~inoue/memo/sh-fd.html などを読みつつ 考えた結果、 % (./test.sh > /dev/tty) 2>&1 | tee error.log と、サブシェルを使わないとできないんじゃないか、という 結論になりましたがどうでしょう。 |