SORU
29 EYLÜL 2010, ÇARŞAMBA


Nasıl bir komut başarısız olursa çıkmak için?

Kabuk betik bir çaylak değilim. Eğer bir komut başarısız olursa, bir ileti, yazdırma ve senaryomu çıkmak istiyorum. Denedim :

my_command && (echo 'my_command failed; exit)

ama çalışmıyor. Komut dosyasında bu satırı aşağıdaki talimatları yürütmek tutar. Ubuntu ve bash kullanıyorum.

Teşekkürler.

CEVAP
29 EYLÜL 2010, ÇARŞAMBA


Deneyin:

my_command || { echo 'my_command failed' ; exit 1; }

Dört değişiklikler:

  • || && değiştirin
  • ( ) { } kullanın
  • ; exit sonra . tanıtmak
  • } önce { sonra ve boşluk

Bu ileti, yazdırma ve tek komut başarısız exit ( çıkış sıfır olmayan değer) && || gerekir.

cmd1 && cmd2

cmd1 cmd2 çalışır başarılı olur(çıkış değeri 0). Nerede

cmd1 || cmd2

cmd1 başarısız cmd2 (çıkış değeri sıfır olmayan) çalıştırın.

( ) kullanarak içlerindeki bir komut çalıştırmak yaparalt kabukve oradan exit bir alt-kabuk çıkmak için neden olur ve kabuk, dolayısıyla özgün yürütme aramadığım orijinal kabuğu ile devam ediyor.

Bunun üstesinden gelmek için kullanın. { }

Son iki değişiklik bash için gerekli.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hydejiaqi

    hydejiaqi

    12 Mart 2008
  • Microsoft Research

    Microsoft Re

    24 EKİM 2008
  • Schmittastic Jr.

    Schmittastic

    19 Mart 2013