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

  • Cartoonium

    Cartoonium

    11 NİSAN 2011
  • efaustus9

    efaustus9

    16 HAZİRAN 2006
  • Incredible Tutorials

    Incredible T

    27 EKİM 2006