SORU
27 HAZİRAN 2012, ÇARŞAMBA


Bash belirli bir komut için hata göz ardı ediliyor

Aşağıdaki seçenekleri kullanıyorum

set -o pipefail
set -e

Hata infazı durdurmak için bir bash script. Script 100 yürütme ve senaryonun dönüş kodu kontrol etmek istemiyorum. Ama belirli bir komut dosyası için bu hata göz ardı etmek istiyorum. Bunu nasıl yapabilirim ?

CEVAP
27 HAZİRAN 2012, ÇARŞAMBA


Çözüm:

particular_script || true

Örnek:

$ cat /tmp/1.sh
particular_script()
{
    false
}

set -e

echo ein
particular_script || true
echo zwei
particular_script
echo drei

$ bash /tmp/1.sh
ein
zwei

drei hiç yazdırılır.

Ayrıca, pipefail, ne zaman olduğunu da eklemek istiyorum shell tüm boru sıfır olmayan çıkış kodu olduğunu düşünmek için yeterlidir boru komutları bir sıfır olmayan çıkış kodu olmalıdır pipefail son) vardır.

$ set -o pipefail
$ false | true ; echo $?
1
$ set  o pipefail
$ false | true ; echo $?
0

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Huot Media

    Huot Media

    7 Mayıs 2010
  • Kamikazeepanda

    Kamikazeepan

    5 ŞUBAT 2006
  • Showtime

    Showtime

    21 HAZİRAN 2006