set -e
Etkileşimli bir bash kabuğuna girdikten sonra , sıfır dışında bir komut çıkarsa bash hemen çıkacaktır. Bu efekti nasıl geri alabilirim?
set -e
Etkileşimli bir bash kabuğuna girdikten sonra , sıfır dışında bir komut çıkarsa bash hemen çıkacaktır. Bu efekti nasıl geri alabilirim?
Yanıtlar:
İle set +e
. Evet, o geriye bulunuyor etkinleştirmek ile kabuk seçenekleri set -
ve devre dışı bunları set +
. Tarihi kuru üzüm, donchanow.
+
gibi bir -
şey üzerinden geçmek "≠" de olduğu gibi "değil" anlamına gelir.
Her geçersiz kılmak istediğinizde set +e
/ kullanmak kullanışlı olmayabilir set -e
. Daha basit bir çözüm buldum.
Bunun gibi yapmak yerine:
set +e
command_that_might_fail_but_we_want_to_ignore_it
set -e
bunu şu şekilde yapabilirsiniz:
command_that_might_fail_but_we_want_to_ignore_it || true
veya tuş vuruşlarını kaydetmek ve biraz şifreli olmaktan sakınmak istiyorsanız:
command_that_might_fail_but_we_want_to_ignore_it || :
Bu yardımcı olur umarım!
:
ve cevabımı burada buldum .