インタラクティブbashシェルでset -e
を入力した後、ゼロ以外でコマンドが終了すると、bashはすぐに終了します。この効果を元に戻すにはどうすればよいですか?
set +e
で。ええ、それはあなたがenableset -
のシェルオプションとdisableset +
のオプションを使用することです。歴史的なレーズン、ドンチャヌフ。
オーバーライドするたびにset +e
/set -e
を使用するのは不便かもしれません。もっと簡単な解決策を見つけました。
このようにする代わりに:
set +e
command_that_might_fail_but_we_want_to_ignore_it
set -e
次のようにできます:
command_that_might_fail_but_we_want_to_ignore_it || true
または、キーストロークを保存したいが、少しわかりにくいことを気にしない場合:
command_that_might_fail_but_we_want_to_ignore_it || :
お役に立てれば!
- -ではなく+を使用すると、これらのフラグがオフになります。