
Batch.shスクリプトで複数のコマンド(wgetなど)を実行する必要があります。
私が使うとき
./batch.sh | tee logs.log
私のスクリプト出力だけがlog.logに書き込まれますが、wget出力はログにありません。
すべての出力(私のスクリプトの出力+スクリプト内で呼び出されるスクリプト)をどのように取得しますか?
答え1
おそらく、関心のある出力は標準出力ではなく標準エラーとして印刷されます。次のようにコマンドを変更します。
./batch.sh 2>&1 | tee logs.log
これにより、スクリプトの標準とエラーストリームの両方がtee
。
より詳細な制御のために、2>&1
スクリプト内で個々のコマンドを処理できます。
Wgetに特化した方法でこのオプションが存在し、Wgetからのメッセージを別々のファイルに書き込むことができます。たとえば、次のようになります。
-o logfile
--output-file=logfile
Log all messages to logfile. The messages are normally reported to
standard error.