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ş:
En hızlı dosya ise standart kullanan v...
Nasıl bir bash komut dosyası için bir ...
nasıl = eğer belirli bir dize değeri N...
Nasıl bir dize Java tek rakam varsa ko...
Bir dize kontrol etmek için nasıl &quo...