9

この行は、Bash でエラー メッセージを出力する最良の方法ですか?

echo 'Error: banana' >&2

エラーをログに記録するさまざまな方法を使用する数十の Bash スクリプトを更新する必要があります。これを行う「正しい」方法を選択し、標準に準拠することもできます...

4

2 に答える 2

13

私のbashスクリプトの冒頭で、私は通常、次のようないくつかの関数を定義します:

error() {
  echo "$@" 1>&2
}

fail() {
  error "$@"
  exit 1
}

これは、致命的なエラーや通常のエラーを出力するのに非常に便利です。source次のような方法で、このスニペットを別のファイルに移動し、すべての bash スクリプトから移動できます。

. /usr/local/lib/snippets/error_handling.sh

そのため、エラー メッセージをより適切に処理する方法が必要だと判断した場合 (たとえば、重大なエラーを syslog に送信するなど)、すべてのスクリプトの動作を一度に変更することで実現できます。

于 2012-10-03T08:20:12.650 に答える
9

Linuxでは、私は言いたいです

echo "Some error message" >> /dev/stderr

もちろん、これは効果的に同じことを行います/dev/stderr/proc/$PID/fd/2

于 2012-10-03T00:51:38.140 に答える