• 追加された行はこの色です。
  • 削除された行はこの色です。
* set -eでエラー補足 [#b2e7afe9]
* set -eでエラー処理 [#b2e7afe9]

set -eすると、式が非ゼロなエラーコードを返した時点で、スクリプトをexitする。
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」と表示して終了する。
「error」と表示して終了する。なお、set -eすると$?を使ったエラー処理が出来なくなるので、代わりに下のようにしてエラーを補足する。

 set -e
 false || { echo error; exit 1; }

 set +e
 false || { echo error; exit 1; }

上のようにすると、いずれも「error」と表示して終了する。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS