Bashのエラー処理
以下に出てくる「false」は常に戻り値1(エラーとみなされる値)を返す標準のコマンドです。
その1:「-e」オプションを付ける
通常のスクリプトでは、ある処理の戻り値が0以外になっても、そこで処理をストップすることはなく、次の処理に移ります(下記例だと「Hello」と表示されます)。「-e」オプションを付けておくと、戻り値0以外のステータスで終了したコマンドがあった場合(=エラーが発生した場合)に処理が中断されます。
#! /bin/bash -e
false
echo "Hello."
その2:trapを利用する
エラーが発生した際に実行される関数(ハンドラ)を設定することもできます。本来、ハンドラが呼び出された後は処理の続きに戻りますが、exitなどで強制的に終了させることも可能なようです。以下のように記述することで上記例と同じようにエラーで処理を中断しつつ、こちらはエラーメッセージも出力することが可能です。
#! /bin/bash
trap handler ERR
function handler(){
echo "Error!"
exit 1
}
false
echo "Hello."
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について