Subscribed unsubscribe Subscribe Subscribe

oinume journal

Scratchpad of what I learned

Shellでset -e の状態を解除するにはset +e

"set -e": 実行コマンドが0以外の終了コードの場合、シェルスクリプトを終了する - RX-7乗りの適当な日々にある通り、Shellスクリプトで set -e すると実行結果が0以外の場合、勝手にスクリプトが終了する。で、この挙動をスクリプトの途中で元に戻したい(=エラーにしたくない)場合は以下のように set +e すればいい。

 

set -e

echo "in set -e"

...

set +e

hoge

echo "in set +e"

 

これで hoge でコマンドが失敗してもエラーでShell自体は終了しなくなる。

[tmkm-amazon]4797321946[/tmkm-amazon]