Wie man die bash if -z und if -n zum Testen von Zeichenketten unter Linux verwendet

In der Bash-Skriptsprache stehen verschiedene String-Operatoren zur Verfügung, die zum Testen von Strings verwendet werden können. Die Operatoren -z und -n werden verwendet, um zu überprüfen, ob die Zeichenfolge Null ist oder nicht. In diesem Leitfaden werden wir diese Zeichenkettenoperatoren mit der if-Anweisung in Centos 8 testen.

In diesem Leitfaden erfahren Sie mehr über die folgenden Testzeichenfolgen:

  • If -n, wenn die Zeichenfolge Null ist.
  • If -n, wenn String nicht Null ist
  • If -z, wenn Sting Null ist
  • If -z, wenn Zeichenfolge nicht Null ist
  • If -z bei der Aufnahme von String-Benutzereingaben

Verwendung des if -n-Operators, wenn String Null ist

Unser Hauptziel, hier den if-n-Operator zu verwenden, besteht darin, zu zeigen, dass die spezifische Zeichenfolge Null ist. Folgen Sie den zitierten Schritten, um diese Aufgabe auszuführen:

Erstellen Sie eine neue Datei mit dem Namen CheckString.sh. Sie können sie direkt in Ihrem Home-Verzeichnis oder mit dem folgenden Befehl im Terminal erstellen:

$ touch CheckString.sh

Testskript erstellen

Sie können sehen, dass die Datei CheckString.sh in Ihrem Home-Verzeichnis erstellt wurde, wie in der Abbildung gezeigt.

Test-Datei

Öffnen Sie die Datei CheckString.sh und schreiben Sie ein Bash-Skript, wie es in der Abbildung unten zu sehen ist. Hier sehen Sie, dass wir eine Zeichenfolge mit dem Namen StdName, gefolgt vom Wert Null initialisiert haben. In unserer if-Anweisung haben wir den Testoperator -n string gefolgt von der Zeichenfolge StdName verwendet. Als Zeichenkette ist StdName null, so dass der Operator -n den Abschnitt else des Skripts ausführt.

Auf Nullwert prüfen

Jetzt werden wir den unten erwähnten Befehl ausführen, um zu prüfen, ob die Zeichenfolge Null ist oder nicht.

$ bash CheckStrings.sh

So wie unsere Zeichenfolge StdName Null ist, so führt der -n-Zeichenfolgenoperator den else-Abschnitt aus. Die Ausgabe wird also Entschuldigung sein! Sie haben keinen Namen im Terminal, wie im unteren Bild dargestellt.

Testskript ausführen

Verwendung von if -n, wenn die Zeichenfolge nicht Null ist

Wir verwenden hier den if-n-Operator, um zu zeigen, dass die angegebene Zeichenfolge in der Datei nicht Null ist. Sie müssen die unten genannten Schritte durchlaufen, um diese Aktivität durchzuführen:

Sie brauchen keine neue Datei oder Zeichenfolge zu erstellen. Sie werden für diese Aufgabe die gleiche Datei CheckString.sh mit einer geringfügigen Änderung verwenden. Diesmal muss die Zeichenfolge StdName in Ihrer Datei einen anderen Wert als Null haben. Sie müssen also Ihrer Zeichenfolge einen Wert (nicht null) zuweisen, während das ganze andere Skript gleich bleibt. Wie Sie sehen, haben wir also der Zeichenfolge StdName einen Wert Aqsa Yasin zugewiesen. Dieses Mal wird also ein Teil des Skripts durch den Operator -n ausgeführt.

if -n wenn Zeichenfolge nicht Null ist

Nun werden wir den unten erwähnten Befehl ausführen, um zu prüfen, ob die Zeichenfolge einen Wert hat oder nicht.

$ bash CheckStrings.sh

So wie unsere Zeichenfolge StdName jetzt den Wert Aqsa Yasin hat, so hat der -n-Zeichenfolgenoperator den if-Teil ausgeführt. Die Ausgabe wird also Hy sein! Aqsa Yasin im Terminal wie im angehängten Bild angezeigt.

Ergebnis des Testskripts

Verwendung von if -z, wenn String Null ist

Wir verwenden hier den if-z-Operator, um zu zeigen, dass die angegebene Zeichenfolge in der Datei Null ist. Sie müssen die unten genannten Schritte durchlaufen, um diese Aktivität durchzuführen:

Für diese Aufgabe gibt es nichts Neues zu tun. Verwenden Sie einfach die gleiche alte Datei CheckString.sh mit dem String-Operator -z. Wie wir wissen, führt der -z-Operator den True Teil aus, wenn die Zeichenfolge Null ist. Als Zeichenfolge hat StdName einen Nullwert, so dass der if-Teil des Skripts durch den -z-Operator ausgeführt wird.

if -z wenn Zeichenkette Null ist

Nun werden wir den unten erwähnten Befehl ausführen, um zu prüfen, ob die Zeichenfolge Null ist.

$ bash CheckStrings.sh

Da unsere Zeichenfolge StdName jetzt keinen Wert hat und der -z-Zeichenfolgenoperator weiß, dass die Zeichenfolge null ist, führt er den if-Teil aus. Die Ausgabe wird also „Sorry You have no name in the terminal“ sein, wie im angehängten Bild dargestellt.

Testergebnis

Verwendung von if -z, wenn String nicht Null ist

Wir verwenden hier den if-z-Operator, um zu zeigen, dass die angegebene Zeichenfolge in der Datei nicht Null ist. Wenn Sie diese Schritte durchlaufen, können Sie diese Aktivität ausführen:

Sie brauchen nichts Neues zu tun. Wir werden für diese Aufgabe die gleiche alte Datei CheckString.sh mit einer geringfügigen Änderung verwenden. Dieses Mal werden wir den -n String-Operator durch den -z String-Operator ersetzen. Außerdem müssen Sie if und andere Teile des Skripts miteinander austauschen. Wie wir wissen, führt der -z-Operator den True Teil aus, wenn die Zeichenfolge Null ist. Da die Zeichenfolge StdName den Wert Aqsa Yasin hat, der nicht Null ist, wird die else-Anweisung durch den -z-Operator ausgeführt.

if -z wenn Zeichenfolge nicht Null ist

Nun werden wir den unten erwähnten Befehl ausführen, um zu prüfen, ob die Zeichenfolge null ist oder nicht.

$ bash CheckStrings.sh

Da unsere Zeichenfolge StdName nun den Wert Aqsa Yasin hat und der -z-Zeichenfolgenoperator weiß, dass die Zeichenfolge nicht null ist, führt er den else-Teil aus. Die Ausgabe wird also Hy Aqsa Yasin im Terminal sein, wie in der Abbildung unten gezeigt.

Testergebnis

Verwendung von if -z bei der String-Benutzereingabe

Schließlich verwenden wir den if-z-Operator, um die Zeichenfolgeneingabe zu testen, die durch die Verwendung zur Laufzeit hinzugefügt wurde. Sie müssen die folgenden Schritte durchführen, um die Zeichenketteneingabe des Benutzers zu testen:

Dieses Mal müssen Sie Ihr Skript in der Datei in gewissem Umfang ändern. Zuerst verwenden wir den Operator -z in der if-Anweisung, gefolgt von der variablen Zeichenfolge. Das System wird den Benutzer auffordern, einige Zeichenfolgenwerte hinzuzufügen. Der Benutzer wird eine Zeichenfolge hinzufügen. Während der Verwendung der Leseanweisung speichert das System die vom Benutzer in die variable Zeichenfolge geschriebene Zeichenfolge. Wie wir wissen, führt der Operator -z den if-Teil der Anweisung aus, wenn die Zeichenkette gültig ist. Wenn die vom Benutzer eingegebene Zeichenfolge null ist, werden Sie vom System aufgefordert, die Zeichenfolge erneut einzugeben. Wenn die vom Benutzer eingegebene Zeichenfolge nicht null ist, zeigt das System die Zeichenfolge an.

if -z bei der Aufnahme von String-Benutzereingaben

Nun werden wir den unten erwähnten Befehl ausführen, um die vom Benutzer eingegebene Zeichenfolge zu überprüfen:

$ bash CheckStrings.sh

Wenn das System den Benutzer auffordert, eine Zeichenfolge hinzuzufügen, fügt der Benutzer keinen Wert hinzu. Also erkennt der Operator -z die Zeichenkette als Null und führt die if-Anweisung aus. Das System forderte den Benutzer erneut auf, irgendeinen String-Wert hinzuzufügen. Diesmal fügte der Benutzer einen gültigen Zeichenkettenwert Neue Weltordnung hinzu. Daher zeigte das System die Meldung Die von Ihnen eingegebene Zeichenfolge lautet: Neue Welt

Skript-Ergebnis

Schlussfolgerung

In diesem Leitfaden haben Sie erfahren, wie man Zeichenkettenoperatoren verwendet, um einen Zeichenkettenwert zu testen, der entweder null oder ungleich null ist. Ich hoffe, dieser Artikel hat Ihnen viel dabei geholfen, genügend Befehle für die Zeichenkettenoperatoren -z und -n zu erhalten und Anweisungen zu manipulieren.

 

Das könnte dich auch interessieren …