Zeichenfolgenvergleichsoperator in Bash

Dr. Muhammad Abdullah 20 Juni 2023
  1. Bash-Skript
  2. String-Variable in Bash
  3. Zeichenfolgenvergleichsoperator in Bash-Skript
Zeichenfolgenvergleichsoperator in Bash

In diesem Artikel erklären wir den String-Vergleich in Bash mit der if-Anweisung.

Ein unter Linux ausgeführtes Shell-Programm, das die Befehlszeilenschnittstelle für Benutzer zum Ausführen verschiedener Befehle bereitstellt, wird als Bash-Shell bezeichnet. Es wird auch als Standard-Shell in vielen Linux-Distributionen verwendet, bekannt als GNU Bourne-Again Shell (Bash).

Bash-Skript

Eine Reihe von Bash-Befehlen, die in eine Datei geschrieben werden, wird als Bash-Skript bezeichnet. Die Bash-Shell führt diese Befehle nach dem Lesen aus der Datei aus.

Die Dateiendung eines Bash-Skripts ist .sh. Der folgende Inhalt einer Datei mit dem Namen First.sh wird unten angezeigt.

#!/bin/Bash
echo "Hello World"

Die obige Datei First.sh ist ein Bash-Skript, das nur einen echo-Befehl enthält, der Hello world auf dem Terminal anzeigt.

Die erste Zeile der Datei #!/bin/Bash informiert über das Bash-Programm im System, das als Interpreter fungiert, um den in der Skriptdatei geschriebenen Befehl auszuführen.

Die Bash-Shell bietet verschiedene Methoden, um das Skript auf dem Terminal auszuführen. Einige Methoden werden unten diskutiert.

  1. Ein bash-Befehl gefolgt von der Bash-Skriptdatei wird verwendet, um das Skript auszuführen. Der folgende Befehl führt das Skript First.sh aus.

    bash First.sh
    

    Die Ausgabe dieses Befehls ist:

    Hello World
    
  2. Führen Sie das Bash-Skript aus, indem Sie den Pfad angeben. Nachdem wir der Skriptdatei mit chmod +x First.sh das Ausführungsrecht zugewiesen haben, können wir die Skriptdatei ausführen, indem wir den Pfad des Skripts angeben.

    <path to the script file>/First.sh
    

    Wir können den absoluten Pfad mit der obigen Methode oder den relativen Pfad zum Skript mit ./First.sh verwenden, um das Skript auszuführen.

String-Variable in Bash

Wir können jeden String in einer Variablen deklarieren und initialisieren, indem wir den Zuweisungsoperator (=) im Bash-Skript verwenden.

Zum Beispiel:

#!/bin/Bash
S="Hello World"
echo $S

Im obigen Beispiel deklarieren wir eine String-Variable S und initialisieren sie mit Hello World als Wert. Der Befehl echo zeigt den Wert der String-Variablen auf dem Terminal mit dem Befehl echo und dem Operator $ an.

Zeichenfolgenvergleichsoperator in Bash-Skript

Wir können zwei Strings mit dem Operator = (ist gleich) im Bash-Skript vergleichen. Wir verwenden auch den Operator ==, um die Zeichenfolge zu vergleichen.

Das == ist ein Synonym des =-Operators für String-Vergleiche.

Stellen Sie sich beispielsweise ein Bash-Skript First.sh vor, das den folgenden Inhalt enthält.

#!/bin/Bash
S1="Hello World"
S2="Hello World"
if [ "$S1" = "$S2" ]
then
	echo "Equal"
else
	echo "Not Equal"
fi

Das folgende Skript enthält zwei Strings, S1 und S2 haben denselben Wert. Die if-Bedingung vergleicht die Zeichenfolge mit dem =-Operator; Wir können jedoch auch die Anweisung if [ "$S1" == "$S2" ] verwenden, um diese Zeichenfolgen zu vergleichen.

Das Folgende ist die Ausgabe des First.sh-Skripts.

Equal

Hinweis: Wenn wir Leerzeichen vor und nach dem =-Operator in der if-Anweisung entfernen, zum Beispiel if [ "$S1"="$S2" ], werden die Strings nicht genau verglichen.

Der Operator != (ist nicht gleich) wird für den Ungleichheitsvergleich zweier Strings verwendet. Wir können diesen Operator in einer if-Anweisung mit if [ "$S1" != "$S2" ] verwenden.

Diese Anweisung gibt true zurück, wenn die Strings S1 und S2 ungleich sind.

Verwandter Artikel - Bash String