Wie man Strings in Bash vergleicht

Wie man Strings in Bash vergleicht

Für verschiedene Programmierzwecke müssen wir den Wert von zwei Zeichenfolgen vergleichen. Eingebaute Funktionen werden in vielen Programmiersprache verwendet, um die Gleichheit von zwei Zeichenfolgen zu testen. Sie können die Gleichheit und Ungleichheit von zwei Zeichenfolgen in Bash unter Verwendung überprüfen Wenn Stellungnahme. “==”Wird verwendet, um die Gleichheit zu überprüfen und“!=”Wird verwendet, um die Ungleichheit der Saiten zu überprüfen. Sie können die Werte von zwei Zeichenfolgen teilweise auch in Bash vergleichen. Wie Sie die Stringwerte in Bash vergleichen können, wird anhand verschiedener Beispiele in diesem Tutorial angezeigt.

Beispiel-1: String-Vergleich unter Verwendung von Operatoren "=="

Es gibt keine integrierte Vergleichsfunktion, um die Gleichheit von zwei Zeichenfolgenwerten in Bash zu überprüfen, wie bei anderen Standardprogrammiersprache. Im folgenden Skript zwei String -Variablen, Strval1 Und Strval2 werden deklariert. Das Eigenkapital dieser beiden Stringvariablen werden mit dem ersten getestet Wenn Aussage des Skripts. Der Wert von Strval1 wird mit einem Stringwert verglichen, um die Gleichheit in der zweiten zu überprüfen Wenn Stellungnahme.

#!/Bin/Bash
Strval1 = "Ubuntu"
Strval2 = "Windows"
#Check Equality Zwei String -Variablen
wenn [$ strval1 == $ strval2]; Dann
echo "Saiten sind gleich"
anders
Echo "Saiten sind nicht gleich"
fi
#Überprüfung der Gleichheit einer Variablen mit einem Zeichenfolgenwert
wenn [$ strval1 == "ubuntu"]; Dann
Echo "Linux -Betriebssystem"
anders
Echo "Windows -Betriebssystem"
fi

Ausgang:

Der erste Vergleich ist nicht gleich und der zweite Vergleich ist gleich.

Beispiel-2: String-Vergleich mit “!= ”Operator

Die Ungleichheit von zwei Stringvariablen wird im folgenden Beispiel überprüft. Hier sind zwei Werte nicht gleich. Also, wenn der Zustand wahr ist und “Windows -Betriebssystem “ wird drucken.

#!/Bin/Bash
Strval1 = "Ubuntu"
Strval2 = "Windows"
#Überprüfen Sie die Ungleichheit einer Variablen mit einem Stringwert
Wenn [$ strval2 != "Ubuntu"]; Dann
Echo "Windows -Betriebssystem"
anders
Echo "Linux -Betriebssystem"
fi

Ausgang:

Beispiel-3: Partial String-Vergleich

Sie können den Teilwert vergleichen, indem Sie Wildkartencharakter im Bash -Skript verwenden. Im folgenden Skript, "*" wird als Wildkartencharakter für teilweise Matching verwendet. Die Zeichenfolgenvariable, Strval enthält das Wort "Internet". Also der erste Wenn des Skripts wird wahr und gedruckt “Teilweise übereinstimmen”. Bash ist Fall sensibel. Dafür die zweite Wenn des Skripts wird falsch zurückgeführt, um „Internet“ als Teilzeichenfolge zu verwenden, die nicht durch Buchstabenvergleich gleich ist.

#!/Bin/Bash
Strval = "Microsoft Internet Explorer"
if [[$ strval == * Internet *]];
Dann
echo "teilweise übereinstimmen"
anders
echo "kein Match"
fi
if [[$ strval == * Internet *]];
Dann
echo "teilweise übereinstimmen"
anders
echo "kein Match"
fi

Ausgang:

Beispiel-4: Vergleichen Sie die Zeichenfolge mit dem Benutzereingabewert

Manchmal müssen wir den vom Benutzer genommenen String -Wert mit einem bestimmten String -Wert für den Programmierzweck vergleichen. Im folgenden Beispiel wird ein Zeichenfolgendaten vom Benutzer als Eingabe übernommen und die Ungleichheit der Daten mit einem festen Wert verglichen. Wenn die Bedingung wahr ist, wird sie gedruckt “Kein Eintrag gefunden", sonst druckt es “Aufzeichnung gefunden”.

#!/Bin/Bash
Echo "Geben Sie Ihren Namen ein"
Eingabe lesen
Wenn [$ Input != "Fahmida"];
Dann
echo "kein Rekord gefunden"
anders
echo "Rekord gefunden"
fi

Ausgang:

Video dieser Lektion ist hier:

Die String -Vergleichsaufgabe in Bash ist für Sie nach Abschluss der obigen Beispiele mit klarem Verständnis einfacher.