Farklı programlama amaçları için iki dizenin değerini karşılaştırmamız gerekir. Yerleşik işlevler, birçok programlama dilinde iki dizenin eşitliğini test etmek için kullanılır. Bash kullanarak iki dizenin eşitliğini ve eşitsizliğini kontrol edebilirsiniz. Eğer Beyan. == eşitliği kontrol etmek için kullanılır ve ! = dizelerin eşitsizliğini kontrol etmek için kullanılır. Bash'de de iki dizenin değerlerini kısmen karşılaştırabilirsiniz. Bash'de dize değerlerini nasıl karşılaştırabileceğiniz bu öğreticide çeşitli örnekler kullanılarak gösterilmektedir.
Örnek-1: == operatörlerini kullanarak String Karşılaştırma
Diğer standart programlama dillerinde olduğu gibi bash'ta iki dize değerinin eşitliğini kontrol etmek için yerleşik bir karşılaştırma işlevi yoktur. Aşağıdaki komut dosyasında, iki dize değişkeni, strval1 ve strval2 ilan edilir. Bu iki dizi değişkeninin eşitliği, birincisi kullanılarak test edilir. Eğer senaryonun ifadesi. Değeri strval1 ikincideki eşitliği kontrol etmek için bir dize değeriyle karşılaştırılır Eğer Beyan.
#!/bin/bash
strval1='Ubuntu'
strval2='Pencereler'
#İki dize değişkeninin eşitliğini kontrol et
Eğer [ $ strval1==$strval2 ];sonra
dışarı attı 'Dizeler eşittir'
Başka
dışarı attı 'Dizeler eşit değil'
olmak
#Dize değeri olan bir değişkenin eşitliğini kontrol edin
Eğer [ $ strval1=='Ubuntu' ];sonra
dışarı attı 'Linux işletim sistemi'
Başka
dışarı attı 'Windows işletim sistemi'
olmak
Çıktı:
İlk karşılaştırma eşit değildir ve ikinci karşılaştırma eşittir.
Örnek-2: != operatörünü kullanarak String Karşılaştırma
Aşağıdaki örnekte iki dize değişkeninin eşitsizliği kontrol edilmiştir. Burada iki değer eşit değildir. Öyleyse, eğer koşul doğru olacaksa ve Windows işletim sistemi yazdıracak.
#!/bin/bashstrval1='Ubuntu'
strval2='Pencereler'
#Dize değeri olan bir değişkenin eşitsizliğini kontrol et
Eğer [ $strval2 !='Ubuntu' ];sonra
dışarı attı 'Windows işletim sistemi'
Başka
dışarı attı 'Linux işletim sistemi'
olmak
Çıktı:
Örnek-3: Kısmi Dizi Karşılaştırması
Bash betiğinde joker karakter kullanarak kısmi değeri karşılaştırabilirsiniz. Aşağıdaki komut dosyasında, * kısmi eşleştirme için joker karakter olarak kullanılır. dizi değişkeni, strval kelimeyi içerir İnternet. Yani, ilk Eğer komut dosyasının değeri true değerini döndürür ve yazdırır Kısmen Eşleşme . Bash büyük/küçük harf duyarlıdır. Bunun için ikinci Eğer betiğin, interneti, harf karşılaştırmasıyla eşit olmayan kısmi dize olarak kullanmak için false döndürür.
#!/bin/bashstrval='Microsoft Internet Explorer'
Eğer [[ $ strval==*internet* ]];
sonra
dışarı attı 'Kısmen Eşleşiyor'
Başka
dışarı attı 'Maç Yok'
olmak
Eğer [[ $ strval==*internet* ]];
sonra
dışarı attı 'Kısmen Eşleşiyor'
Başka
dışarı attı 'Maç Yok'
olmak
Çıktı:
Örnek-4: Dizeyi kullanıcı giriş değeriyle karşılaştırın
Bazen, programlama amacıyla kullanıcı tarafından alınan string değeri ile belirli string değeri karşılaştırmamız gerekir. Aşağıdaki örnekte, kullanıcıdan girdi olarak bir dize verisi alınacak ve verilerin eşitsizliği sabit bir değerle karşılaştırılacaktır. Koşul doğruysa yazdırılır Kayıt Bulunamadı , aksi takdirde yazdıracak Kayıt Bulundu .
#!/bin/bashdışarı attı 'Adınızı giriniz'
okumangiriş
Eğer [ $girdi !='Fahmida' ];
sonra
dışarı attı 'Kayıt Bulunamadı'
Başka
dışarı attı 'Kayıt Bulundu'
olmak
Çıktı:
Bu dersin videosu burada:
Yukarıdaki örnekleri net bir şekilde tamamladıktan sonra, bash'ta dize karşılaştırma görevi sizin için daha kolay olacaktır.