SORU
4 EYLÜL 2009, Cuma


Bir bash betiği nasıl eğer belli bir durum oluşursa, tüm komut çıkış yapabilir miyim?

Bash bir komut dosyası kodu test etmek için yazıyorum. Ancak, eğer kod derleniyor ilk etapta başarısız olursa, testler saçma, sadece testleri iptal söylerim görünüyor.

Döngü içinde tüm senaryoyu sarma ve tatili kullanmadan bunu yapabilirim bir yolu var mı? Bir gibi bir şeydun dun dungoto?

CEVAP
4 EYLÜL 2009, Cuma


Kullanın-e ayarlayın

#!/bin/bash

set -e

/bin/command-that-fails
/bin/command-that-fails2

Komut dosyası başarısız olan ilk satırı (döner çıkış kodu sıfır) sonra sona erecektir. Bu durumdakomut--fails2çalışmayacak.

Eğer dönüş her komutun durumunu denetlemek için, komut dosyası, bu gibi görünecektir:

#!/bin/bash

# I'm assuming you're using make

cd /project-dir
make
if [[ $? -ne 0 ]] ; then
    exit 1
fi

cd /project-dir2
make
if [[ $? -ne 0 ]] ; then
    exit 1
fi

İle-e ayarlayıngibi görünecektir:

#!/bin/bash

set -e

cd /project-dir
make

cd /project-dir2
make

Başarısız herhangi bir komut tüm komut başarısız olmasına neden olabilir ve kontrol edebilirsiniz çıkış durumunu döndürür$?. Senaryonu çok uzun ya da çok şey inşa edersen, sana iade durumunu kontrol eder her yerde eklerseniz daha kötüye gidiyor.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blunty

    Blunty

    13 Mart 2006
  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007
  • Glove and Boots

    Glove and Bo

    1 ŞUBAT 2007