-1
bashスクリプトで実行エラーを検出して終了します。bash実行エラーの取得
hereのように私はtry/yell/die
アプローチを使っていました。
yell() { echo "$0: $*" >&2; }
die() { echo -e "\e[31m$*\e[0m"; exit 1; }
try() { "[email protected]" || die "cannot $*"; }
しかし、これは私のコマンドラインをラップする必要があります。
try curl https://blah.com | try bash
より良いアプローチが使用されるようです。
set -e
set -o pipefail
set -E
try/yell/die
に反対set
アプローチを、使用する任意の欠点はありますか?
いくつかの関連するものについて[なぜ私は期待したことを-e(または-o errexit、またはtrap ERRを設定しないのですか?)](http://mywiki.wooledge.org/BashFAQ/105)を参照してください。討論。 –
リンク@TomFenechをありがとう、これは答えimhoする必要があります! – sleepycal