So verwenden Sie die Bash-Anweisungen „If –Z“ und „If –N“, um den String zu testen

Die „if“-Anweisung wird in Bash wie in anderen Programmiersprachen für bedingte Verzweigungen verwendet. Mit der „if“-Anweisung können die unterschiedlichen Bedingungen in Bash überprüft werden. Die verschiedenen Arten von Vergleichsoperatoren, logischen Operatoren und Optionen werden mit der „if“-Anweisung zum Testen verwendet. In diesem Tutorial wird die Verwendung der Optionen „-z“ und „-n“ zum Testen der Zeichenfolgenwerte mithilfe der „if“-Anweisung in Bash gezeigt.

Verwendung der „If -Z“-Anweisung

Manchmal muss überprüft werden, ob eine String-Variable leer ist oder ob sie einen String mit der Länge Null enthält. In Bash gibt es viele Optionen, um diese Aufgabe zu erledigen. Die Verwendung der Option „-z“ mit der „if“-Anweisung ist eine der Möglichkeiten, zu überprüfen, ob eine Variable leer ist oder nicht. Die Verwendung der Option „if -z“ wird im nächsten Teil des Tutorials gezeigt.

Beispiel 1: Überprüfen der „If -Z“-Anweisung mit „[]”

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, in dem die Verwendung der „if –z“-Anweisung mit dem „[]“ wird gezeigt. Vom Benutzer werden zwei Eingaben übernommen. Wenn einer der Eingabewerte leer ist, wird eine Fehlermeldung gedruckt. Andernfalls wird die Summe der beiden Eingabewerte berechnet und gedruckt.

#!/bin/bash
#Lesen Sie die erste Nummer
read -p „Geben Sie die erste Zahl ein:“ n1
#Lesen Sie die zweite Nummer
read -p „Geben Sie die zweite Zahl ein: “ n2

#Überprüfen Sie, ob eine Eingabe leer ist oder nicht
Wenn [[ -z „$n1“ || -z „$n2“ ]]
Dann
#Drucken Sie die Fehlermeldung aus
echo „Die erste oder zweite Zahl ist leer.“
anders
#Berechnen Sie die Summe
Summe=$(($n1+$n2))
#Drucken Sie den Summenwert
echo „Die Summe von $n1 und $n2 ist $sum.“
fi

Ausgabe:

Die folgende Ausgabe erscheint, wenn das Skript ohne Argument ausgeführt wird:

Die folgende Ausgabe erscheint, wenn das Skript mit einem Argument ausgeführt wird:

Die folgende Ausgabe erscheint, wenn das Skript mit zwei Argumenten ausgeführt wird:


Beispiel 2: Überprüfung der „If -Z“-Anweisung mit dem „Test“-Befehl

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, in dem die Anweisung „if –z“ mit dem Befehl „ verwendet wird.prüfen”-Befehl wird angezeigt. Eine Eingabe erfolgt vom Benutzer und muss numerisch sein. Wenn der Eingabewert leer ist, wird eine Fehlermeldung gedruckt. Wenn der Eingabewert nicht leer ist, aber keinen numerischen Wert enthält, wird eine weitere Fehlermeldung ausgegeben. Wenn eine Ganzzahl als Eingabe verwendet wird, wird der Eingabewert gedruckt.

#!/bin/bash
#Lesen Sie den Alterswert
read -p „Geben Sie Ihr Alter ein:“ Alter

#Überprüfen Sie, ob der Eingabewert leer ist oder nicht
if test -z „$age“
Dann
#Drucken Sie die Fehlermeldung für leer aus
echo „Der Eingabewert ist leer.“
Ausfahrt
fi

#Überprüfen Sie, ob der Eingabewert eine Zahl ist oder nicht
Wenn ! [[ $age =~ ^[0-9]+$ ]]; Dann
#Drucken Sie die Fehlermeldung für nicht numerische Daten aus
echo „Der Alterswert muss eine Zahl sein.“
anders
#Drucken Sie den Eingabewert
echo „Du bist $age Jahre alt.“
fi

Ausgabe:

Die folgende Ausgabe erscheint, wenn das Skript mit dem numerischen Eingabewert ausgeführt wird:

Die folgende Ausgabe erscheint, wenn das Skript mit dem String-Eingabewert ausgeführt wird:

Verwendung der „If -N“-Anweisung

Manchmal muss überprüft werden, ob eine Zeichenfolgenvariable nicht leer ist oder ob sie einen Zeichenfolgenwert mit einer Länge von mehr als Null enthält. In Bash gibt es viele Optionen, um diese Aufgabe zu erledigen. Die Verwendung der Option „-n“ mit der „if“-Anweisung ist eine der Möglichkeiten zu überprüfen, ob eine Variable nicht leer ist oder nicht. Die Verwendung der Option „if -n“ wird im nächsten Teil des Tutorials gezeigt.

Beispiel 1: Überprüfen der „If -N“-Anweisung mit „[]”

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, bei dem die Verwendung der „if –n“-Anweisung mit dem „[]“ wird gezeigt. Ein Eingabewert wird vom Benutzer übernommen. Wenn der Eingabewert leer ist, wird eine Fehlermeldung gedruckt. Andernfalls wird der Wert der Eingabe gedruckt.

#!/bin/bash
#Lesen Sie den Buchnamen
read -p „Geben Sie den Buchnamen ein: “ book

#Überprüfen Sie, ob die Eingabe ungleich Null ist oder nicht
Wenn ! [ -n „$book“ ]

Dann
#Drucken Sie die Fehlermeldung aus
echo „Buchname darf nicht leer sein.“
anders
#Drucken Sie den Eingabewert
echo „Der Buchname ist $book.“
fi

Ausgabe:

Die folgende Ausgabe erscheint, wenn das Skript mit einem beliebigen Eingabewert ausgeführt wird:

Die folgende Ausgabe erscheint, wenn das Skript mit einem String-Eingabewert ausgeführt wird:


Beispiel 2: Überprüfung der „If -N“-Anweisung mit dem „Test“-Befehl

Erstellen Sie eine Bash-Datei mit dem folgenden Skript, in dem die Verwendung der „if –n“-Anweisung mit dem „test“-Befehl gezeigt wird. Die erste Eingabe ist eine Zeichenfolge und die zweite Eingabe ist numerisch. Wenn beide Eingabewerte nicht leer sind, wird eine Fehlermeldung ausgegeben. Wenn der zweite Eingabewert nicht numerisch ist, werden andernfalls die Eingabewerte gedruckt.

#!/bin/bash
#Lesen Sie den Buchnamen
read -p „Geben Sie den Buchnamen ein: “ book

#Lesen Sie den Buchnamen
read -p „Geben Sie den Buchpreis ein: “ Preis

#Überprüfen Sie, ob die Eingabe ungleich Null ist oder nicht
if test -n „$book“ && test -n „$price“
Dann
#Überprüfen Sie, ob der Eingabewert eine Zahl ist oder nicht
Wenn ! [[ $price =~ ^[0-9]+$ ]]; Dann
#Drucken Sie die Fehlermeldung für nicht numerische Daten aus
echo „Der Preiswert muss eine Zahl sein.“
anders
#Drucken Sie die Eingabewerte
echo „Buchname ist $book.“
echo „Der Buchpreis ist $price.“
fi
anders
#Drucken Sie die Fehlermeldung aus
echo „Buchname oder Preis dürfen nicht leer sein.“
fi

Ausgabe:

Die folgende Ausgabe erscheint, wenn das Skript mit zwei leeren Eingabewerten ausgeführt wird:

Die folgende Ausgabe erscheint, wenn das Skript mit einem leeren Eingabewert ausgeführt wird:

Die folgende Ausgabe erscheint, wenn das Skript mit zwei nicht leeren gültigen Eingabewerten ausgeführt wird:

Die folgende Ausgabe erscheint, wenn das Skript mit zwei nicht leeren Werten und einem ungültigen Preiswert ausgeführt wird:

Abschluss

Die Verwendung der Anweisungen „if –z“ und „if –n“ wird in diesem Tutorial anhand mehrerer Beispiele erläutert, um den Bash-Benutzern zu helfen, diese Anweisungen in ihrem Skript richtig anzuwenden.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen