1

Bashスクリプトのコマンドに含まれるすべてのエラーメッセージをログに記録したいと思います。

問題は、追加する必要がある場合です

E=$( ... 2>&1 ); echo $E >> $LOG

すべてのコマンドに対して、スクリプトは非常に読みにくくなります。

質問

どういうわけかグローバル変数を取得することは可能STDERRですSTDOUTか?

4

2 に答える 2

6

これでスクリプトを開始するだけです:

 exec 2>&1
于 2013-02-11T14:00:59.040 に答える
0

次のようなことができます。

#!/bin/sh

test -z "$DOLOGGING" && { DOLOGGING=no exec $0 "${@}" 2>&1 | tee log-file; exit; }
...

すべての出力/エラーをログ ファイルに複製します。exec 2>&1 >/dev/null私は質問を読み間違えたようですが、スクリプトの先頭に追加して、すべてのエラーを標準出力に出力し、すべての出力を破棄したいだけのようです。

于 2013-02-11T13:59:40.497 に答える