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.
-
Ein
bash
-Befehl gefolgt von der Bash-Skriptdatei wird verwendet, um das Skript auszuführen. Der folgende Befehl führt das SkriptFirst.sh
aus.bash First.sh
Die Ausgabe dieses Befehls ist:
Hello World
-
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 derif
-Anweisung entfernen, zum Beispielif [ "$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.