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

  • boburnham

    boburnham

    11 Temmuz 2006
  • dhcrr's channel

    dhcrr's chan

    2 Ocak 2007
  • PomplamooseMusic

    PomplamooseM

    28 HAZİRAN 2008