Bashスクリプトのコマンドに含まれるすべてのエラーメッセージをログに記録したいと思います。
問題は、追加する必要がある場合です
E=$( ... 2>&1 ); echo $E >> $LOG
すべてのコマンドに対して、スクリプトは非常に読みにくくなります。
質問
どういうわけかグローバル変数を取得することは可能STDERR
ですSTDOUT
か?
これでスクリプトを開始するだけです:
exec 2>&1
次のようなことができます。
#!/bin/sh
test -z "$DOLOGGING" && { DOLOGGING=no exec $0 "${@}" 2>&1 | tee log-file; exit; }
...
すべての出力/エラーをログ ファイルに複製します。exec 2>&1 >/dev/null
私は質問を読み間違えたようですが、スクリプトの先頭に追加して、すべてのエラーを標準出力に出力し、すべての出力を破棄したいだけのようです。