Bash: İyi bir çıkış statüsü veren bir çalıştırılabilir dosya çalıştır


32

Linux'ta bir yürütülebilir dosyayı çalıştırmak istiyorum ve döndürdüğü çıkış durumundan bağımsız olarak iyi bir çıkış durumu döndürmek istiyorum. (yani hata yok.)

(Bunun nedeni kullanıyorum sh -exve bir (belirli) komut başarısız olsa bile betiğin çalışmaya devam etmesini istiyorum.)

Yanıtlar:


47

Bunu bir deneyin:

command || true

Kimden man bash:

Başarısız olan komut, bir süre sonra veya anahtar kelimeye kadar hemen ardından komut listesinin bir parçasıysa, if veya elif rezervli sözcükleri izleyen testin bir kısmı, && veya ⎪⎪ listesinde yürütülen herhangi bir komutun bir parçasıysa, kabuk çıkmaz. final && veya ⎪⎪ komutunu izleyerek komut, bir boru hattındaki herhangi bir komut ancak sonuncusu veya komutun dönüş değeri! ile ters çevriliyorsa.


ayrıca iyi bir :)
voretaq7

1

Deneyin (executable ; exit 0)veya alternatif olarak her zaman 0'dan çıkan bir kabuk komut dosyasına sarın.


1
Bu, çoğu durumda iyi sonuç verir, ancak bir alt kabuk oluşturur; bu nedenle, örneğin (cd foo; exit 0)başarılı olursa, daha sonra cwd'niz daha önce bulunduğunuza döndüğü için, "foo" ile bitmezsiniz. Ancak, cd foo || truebaşarılı olursa sizi "foo" da bırakacaktır.
sonraki duyuruya kadar duraklatıldı.

iyi nokta - işleminizin ek yan etkileri varsa (ortam değişkenlerini ayarlama, dizinleri değiştirme vb.), bu işe yaramaz.
voretaq7
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.