So verwenden Sie die Anweisungen If -Z und If -n, um die Zeichenfolge zu testen

So verwenden Sie die Anweisungen If -Z und If -n, um die Zeichenfolge zu testen

Die Anweisung „If“ wird in Bash für bedingte Verzweigungen verwendet, wie in anderen Programmiersprachen. Mit der Anweisung "if" kann die verschiedenen Bedingungen in Bash überprüft werden. Die verschiedenen Arten von Vergleichsbetreibern, logischen Operatoren und Optionen werden mit der Anweisung „if“ zum Testen verwendet. Die Verwendung der Option "-Z" und "-n" zum Testen der Stringwerte unter Verwendung der Anweisung "if" in Bash wird in diesem Tutorial angezeigt.

Verwenden Sie die Anweisung "if -z"

Manchmal ist erforderlich, um zu überprüfen. Es gibt viele Optionen in Bash, um diese Aufgabe zu erledigen. Die Verwendung der Option "-z" mit der Anweisung "if" ist eine der Möglichkeiten, um zu überprüfen, ob eine Variable leer ist oder nicht. Die Verwendung der Option „If -Z“ wird im nächsten Teil des Tutorials angezeigt.

Beispiel 1: Überprüfen der Anweisung "if -z" mit "[]" "

Erstellen Sie eine Bash -Datei mit dem folgenden Skript, in dem die Verwendung der Anweisung "if -z" mit dem "[]" angezeigt wird. Zwei Eingaben werden vom Benutzer entnommen. 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
Lesen Sie -p "Geben Sie die erste Nummer ein:" N1
#Lesen Sie die zweite Nummer
Lesen Sie -p "Geben Sie die zweite Nummer ein:" N2
#Überprüfen Sie, ob eine Eingabe leer ist oder nicht
if [[-z "$ n1" || -Z "$ n2"]]]
Dann
#Print der Fehlermeldung
Echo "Die erste oder zweite Zahl ist leer."
anders
#Calculate die Summe
sum = $ (($ n1+$ n2))
#Print des Summierungswerts
Echo "Die Summe von $ N1 und $ N2 beträgt $ summe."
fi


Ausgang:

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


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


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


Beispiel 2: Überprüfen der Anweisung "if -z" mit dem Befehl "Test"

Erstellen Sie eine Bash -Datei mit dem folgenden Skript, in dem die Verwendung der Anweisung "if -z" mit dem "prüfenDer Befehl ”wird angezeigt. Der Benutzer, der numerisch sein muss. Wenn der Eingangswert leer ist, wird eine Fehlermeldung gedruckt. Wenn der Eingangswert nicht leer ist, aber keinen numerischen Wert enthält, wird eine andere Fehlermeldung gedruckt. Wenn eine Ganzzahl als Eingabe genommen wird, wird der Eingangswert gedruckt.

#!/Bin/Bash
#Lesen Sie den Alterswert
Lesen Sie -p "Geben Sie Ihr Alter ein:" Alter
#Scheck, ob der Eingabwert leer ist oder nicht
Wenn test -z "$ ay"
Dann
#Printieren Sie die Fehlermeldung für leer
echo "Der Eingangswert ist leer."
Ausfahrt
fi
#Überprüfen Sie, ob der Eingabwert eine Zahl ist oder nicht
Wenn ! [[$ ay ~ ~ ^[0-9]+$]]; Dann
#Druck die Fehlermeldung für nicht numerische Daten
echo "Der Alterswert muss eine Zahl sein."
anders
#Printieren Sie den Eingangswert
echo "Du bist $ alters Jahre alt."
fi


Ausgang:

Die folgenden Ausgabe -Apepars Wenn das Skript mit dem numerischen Eingangswert ausgeführt wird:


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

Verwenden der Anweisung "if -n"

Manchmal ist erforderlich, um zu überprüfen. Es gibt viele Optionen in Bash, um diese Aufgabe zu erledigen. Die Verwendung der Option "-n" mit der Anweisung "if" ist eine Möglichkeit, zu überprüfen, ob eine Variable nicht leer ist oder nicht. Die Verwendung der Option „If -n“ wird im nächsten Teil des Tutorials angezeigt.

Beispiel 1: Überprüfen Sie die Anweisung "if -n" mit "[]" "

Erstellen Sie eine Bash -Datei mit dem folgenden Skript, in dem die Verwendung der Anweisung "if -n" mit dem "[]" angezeigt wird. Der Benutzer wird ein Eingangswert entnommen. Wenn der Eingangswert leer ist, wird eine Fehlermeldung gedruckt. Andernfalls wird der Wert der Eingabe gedruckt.

#!/Bin/Bash
#Lesen Sie den Buchnamen
Lesen Sie -p "Geben Sie den Buchnamen ein:" Buch
#Scheck, wenn der Eingang ungleich Null ist oder nicht
Wenn ! [-n "$ book"]
Dann
#Print der Fehlermeldung
Echo "Buchname kann nicht leer sein."
anders
#Printieren Sie den Eingangswert
Echo "Der Buchname ist $ book."
fi


Ausgang:

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


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


Beispiel 2: Überprüfen der Anweisung "if -n" mit dem Befehl "Test"

Erstellen Sie eine Bash -Datei mit dem folgenden Skript, in dem die Verwendung der Anweisung "if -n" mit dem Befehl "Test" angezeigt wird. Die erste Eingabe ist eine Zeichenfolge und die zweite Eingabe ist numerisch. Wenn beide Eingabewerte nicht leer sind, wird eine Fehlermeldung gedruckt. Wenn der zweite Eingangswert nicht numerisch ist, werden die Eingabewerte ansonsten gedruckt.

#!/Bin/Bash
#Lesen Sie den Buchnamen
Lesen Sie -p "Geben Sie den Buchnamen ein:" Buch
#Lesen Sie den Buchnamen
Lesen -p "Geben Sie den Buchpreis ein:" Preis
#Scheck, ob die Eingabe ungleich Null ist oder nicht
Wenn test -n "$ book" && test -n "$ price"
Dann
#Überprüfen Sie, ob der Eingabwert eine Zahl ist oder nicht
Wenn ! [[$ price = ~ ^[0-9]+$]]; Dann
#Druck die Fehlermeldung für nicht numerische Daten
echo "Der Preiswert muss eine Zahl sein."
anders
#Prinke die Eingabewerte
Echo "Buchname ist $ book."
Echo "Buchpreis ist $ Preis."
fi
anders
#Print der Fehlermeldung
Echo "Buchname oder Preis kann nicht leer sein."
fi


Ausgang:

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


Die folgende Ausgabe wird angezeigt, wenn das Skript mit einem leeren Eingangswert ausgeführt wird:


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


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

Abschluss

Die Verwendungen sowohl von "if -z" als auch von "if -n" werden in diesem Tutorial mit mehreren Beispielen erläutert.