Unix/Linuxスクリプトにおける「set-e」の役割
スクリプトには、次のような文が表示されます.
「set-e」という文はbashがどの文の実行結果がtrueでない場合、終了すべきかを教えます.このような利点は、エラーが雪だるまのように大きくなって致命的なエラーを招くことを防止することであり、これらのエラーは以前から処理されるべきだった.可読性を向上させるには、set-o errexitを使用します.set-eと同じ役割を果たします.
-eを使用して、エラーをチェックします.実行文の結果をチェックするのを忘れた場合はbashが実行します.残念なことに、$をチェックできませんか?実行された文が0を返さない場合、bashはチェックされたコードに実行できません.他の構造を使用できます.
0以外のコマンドを返すか、文の実行結果に関心がない場合は、
command|true、あるいは長いコードを持っていて、エラーチェック(set-eを使用しない)をオフにすることができますが、この文を保守的に使用することをお勧めします.
変換元:http://blog.csdn.net/todd911/article/details/9954961
#!/bin/bash
set -e
command 1
command 2
...
exit 0
「set-e」という文はbashがどの文の実行結果がtrueでない場合、終了すべきかを教えます.このような利点は、エラーが雪だるまのように大きくなって致命的なエラーを招くことを防止することであり、これらのエラーは以前から処理されるべきだった.可読性を向上させるには、set-o errexitを使用します.set-eと同じ役割を果たします.
-eを使用して、エラーをチェックします.実行文の結果をチェックするのを忘れた場合はbashが実行します.残念なことに、$をチェックできませんか?実行された文が0を返さない場合、bashはチェックされたコードに実行できません.他の構造を使用できます.
command
if [ "$?"-ne 0]; then
echo "command failed";
exit 1;
fi
は、以下のように代替することができる.command || { echo "command failed"; exit 1; }
または:if ! command; then
echo "command failed";
exit 1;
fi
0以外のコマンドを返すか、文の実行結果に関心がない場合は、
command|true、あるいは長いコードを持っていて、エラーチェック(set-eを使用しない)をオフにすることができますが、この文を保守的に使用することをお勧めします.
変換元:http://blog.csdn.net/todd911/article/details/9954961