Bash'de dizeler nasıl karşılaştırılır

How Compare Strings Bash



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/bash

strval1='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/bash

strval='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/bash

dış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.