Unix/Linuxスクリプトにおける「set-e」の役割


スクリプトには、次のような文が表示されます.
#!/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