set -x
詳細/デバッグ出力を行うシェルスクリプトがあります。
#!/bin/bash
set -x
command1
command2
...
出力は次のようになります。
+ command1
whatever output from command1
+ command2
whatever output from command2
私の問題は(によって引き起こされるシェル出力は、あるset -x
)(コマンドの出力と混合し、stderrに行きcommand1
、command2
...、)。画面上に「通常の」出力(スクリプトwoudなしで実行されるようなset -x
)と、bashの「余分な」出力を別々にファイルに入れていただければ幸いです。
だから私はこれを画面に表示したいと思います:
whatever output from command1
whatever output from command2
そしてこれはログファイルにあります:
+ command1
+ command2
(ログファイルにすべてが揃っている場合も問題ありません)
set -x 2> file
明らかdoens'tそれはsetコマンドの出力ではありませんので、右有効になりますが、それはbashの動作を変更。
bash 2> file
このシェルで実行されるすべてのコマンドのstderrもリダイレクトするため、スクリプト全体に使用しても正しいことは行われません。そのため、コマンドのエラーメッセージは表示されません。