set -eEtkileş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 -eEtkileş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 .