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

  • CaptainDisillusion

    CaptainDisil

    18 EYLÜL 2007
  • Wii Minute Radio

    Wii Minute R

    31 Mayıs 2008
  • wwjoshdew

    wwjoshdew

    1 AĞUSTOS 2007