- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- シェルスクリプト/文法/Bashオプション/eオプションでエラー処理 へ行く。
- 1 (2012-02-27 (月) 16:31:57)
- 2 (2012-02-27 (月) 16:41:20)
- 3 (2012-09-24 (月) 23:50:28)
set -eでエラー処理
set -eすると、式が非ゼロな終了コードを返した時点で、スクリプトは勝手にexitする。 例えば、
set -e false if [ "$?" -ne 0 ]; then echo error; exit 1; fi echo done
は、実行すると何も表示せずに終了する。これが下のようにset +eなら、
set +e false if [ "$?" -ne 0 ]; then echo error; exit 1; fi echo done
「error」と表示して終了する。なお、set -eすると$?を使ったエラー処理が出来なくなるので、代わりに下のようにしてエラーを補足する。
set -e false || { echo error; exit 1; }
set +e false || { echo error; exit 1; }
上のようにすると、いずれも「error」と表示して終了する。