SORU
23 EKİM 2008, PERŞEMBE


Dize bash içerir

Bash kullanarak, bir dize var:

string=`echo My string`

Nasıl başka bir dize içerip içermediğini test edebilirsiniz?

if [ $string ?? 'foo' ] then;
  echo "It's there!";
fi;

Nerede ?? bilinmeyen operatörüm. Echo ve grep kullanırım?

if [ `echo $string | grep 'foo' ` ] then;
  echo "It's there!";
fi;

Bu biraz hantal görünüyor.

CEVAP
23 EKİM 2008, PERŞEMBE


Eğer çift parantez kullanırsanız case deyimi dışında Marcus's answer (* joker) da kullanabilirsiniz:

string='My long string';

if [[ $string == *"My long"* ]]
then
  echo "It's there!";
fi

İğne dize boşluk unutmayın çift tırnak arasında bir yerlerde olması gerekir, ve *joker karakterler çift tırnak işaretleri dışında olmalıdır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ampisound

    Ampisound

    12 Kasım 2006
  • HSmasteryoda .

    HSmasteryoda

    22 Ocak 2010
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009