Burada , komutların yürütülmesini bitirmek için ||ve &&tek bir satırda kullanıldığını gösterir : Bir bash komut dosyasında apt-get hatalarını nasıl kontrol edebilirim?
Belirli bir koşul başarısız olursa bir komut dosyası yürütmeyi durdurmaya çalışıyorum,
Örneğin
false || echo "Obvious error because its false on left" && exit
Burada Obvious error because its false on the leftistediğim şey olan konsolu basar ve çıkar.
true || echo "This shouldn't print" && exit
Burada yankı baskısı yok ama exitkomut da çalışıyor, yani konsol kapalı, exitsağdaki echo komutu yürütülmediği için komut çalıştırılmamalı mı? Veya varsayılan olarak bir &&operatörün sol tarafında yanlış olarak kabul edilen bir ifade midir?
Düzenleme: Daha önce bahsetmiştim, amacım hatayı yankılamak ve net değilse çıkmaktı. & & ve || kullanarak koşulları gruplarken hataları yakalama özel durumum için wrt, @ bodhi.zazen cevap sorunu çözer.
@takatakatek yanıtı akış kontrolü hakkında daha net hale getirir ve bash kılavuz bağlantıları mükemmeldir
muru cevabı, özel hata mesajlarının perl ve trap kullanma alternatifleriyle atılmasını istiyorsanız neden set -e'yi kullanmamanın iyi bir açıklamasına sahip.