SORU
2 Temmuz 2012, PAZARTESİ


Nasıl bir dosya belirli bir dize bash kullanan varsa kontrol etmek için

Eğer bir dosya belirli bir dize içeriyorsa ya da bash istiyorum. Bu komut kullandım ama işe yaramıyor:

 if [[ 'grep 'SomeString' $File' ]];then
   Some Actions
 fi

benim kodda yanlış olan ne?

CEVAP
2 Temmuz 2012, PAZARTESİ


 if grep -q SomeString "$File"; then
   Some Actions
 fi

[[ ]] burada gerek yok. Sadece Çalıştır komutunu doğrudan. Dize bulunduğunda görüntülenen ihtiyacın olmadığında -q seçenek ekleyin.

Çıkış kodu bağlı olarak grep komut verir 0 veya 1 arama sonucu. Eğer bir şey bulunursa 0; aksi halde 1.

$ echo hello | grep hi ; echo $?
1
$ echo hello | grep he ; echo $?
hello
0
$ echo hello | grep -q he ; echo $?
0

if bir koşulu olarak komutları belirtebilirsiniz. Eğer komutu 0 exitcode döner eğer bu koşul doğru ise; aksi halde false anlamına gelir.

$ if /bin/true; then echo that is true; fi
that is true
$ if /bin/false; then echo that is true; fi
$

Gördüğünüz gibi burada programları doğrudan çalıştırın. Ek [] [[]].

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fufko

    fufko

    27 ŞUBAT 2006
  • Kyler Briskey

    Kyler Briske

    20 ŞUBAT 2011
  • TheFlightsuit

    TheFlightsui

    22 HAZİRAN 2009