SORU
20 Mayıs 2010, PERŞEMBE


Otomatik hata bash kabuk betiği çıkış

Bazı kabuk komut dosyası yazıyorum ve eğer varsa komutları başarısız oldu dedi kabuk komut dosyası yürütme durdurmak için yeteneği olsaydı orada yararlı buluyorum. Bir örnek için aşağıya bakın:

#!/bin/bash  

cd some_dir  

./configure --some-flags  

make  

make install

Eğer komut dosyası belirtilen dizin için değiştirebilir. bu durumda o zaman kesinlikle bir. /yapmak istiyorum, bu böyle olmaz eğer başarısız olursa, daha sonra yapılandırın.

Şimdi farkındayım o etsem bir kontrol için her komut (hangi bence umutsuz bir çözüm, ama orada bir genel ayarı yapmak için komut çıkarsanız bir komutları başarısız olur?

CEVAP
20 Mayıs 2010, PERŞEMBE


set -e yerleşik kullanın:

#!/bin/bash
set -e
# Any subsequent(*) commands which fail will cause the shell script to exit immediately

Alternatif olarak, komut satırında -e iletebilirsiniz:

bash -e my_script.sh

Ayrıca set e bu davranışı devre dışı bırakabilirsiniz.

(*) Not:

Kabuk yapardeğilbaşarısız komut çıkış parçası komut hemen aşağıdaki listesüreyakadaranahtar kelime, bir parçası bir testieğerbir parçası deyim&&ya||eğer liste veya komut dönüş değeri ile ters ediliyor!

(man bash)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GirlSanctuaryBlog

    GirlSanctuar

    28 Aralık 2011
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010
  • ThreadBanger

    ThreadBanger

    2 Mart 2007