BASH-Programmierung

Bash if -z und if -n zum Testen von Strings

Bash if -z und if -n zum Testen von Strings

Die „if“-Anweisung in Bash kann mit verschiedenen Parametern verwendet werden, um mehreren Zwecken zu dienen. Immer wenn wir in Bash mit Strings arbeiten, ist es sehr wichtig für uns zu prüfen, ob ein String null ist oder nicht, damit er keine Probleme bei der Ausführung unseres Programms verursachen kann. Sowohl die Flags „-z“ als auch „-n“ können mit der „if“-Anweisung verwendet werden, um die Strings zu testen, und wir erklären Ihnen im heutigen Artikel, wie dies möglich ist.

Hinweis: Linux Mint 20 wird verwendet, um die folgenden Beispiele zu testen.

Methode zur Verwendung von Bash "if -z" und "if -n" zum Testen von Strings

Um die Verwendung von Bash „if -z“ und „if -n“ zum Testen von Strings zu erklären, möchten wir Ihnen die folgenden Beispielszenarien zeigen.

Beispiel # 1: Verwenden von „if -n“, um zu zeigen, dass ein String Null ist

Um mit der Anweisung „if -n“ zu zeigen, dass ein String in Bash null ist, führen wir die folgenden Schritte aus:

Zuerst erstellen wir eine Bash-Datei in unserem Home-Verzeichnis namens Strings.sh, wie im Bild unten gezeigt:

Nachdem wir diese Datei erstellt haben, geben wir das im folgenden Bild gezeigte Skript in unsere Datei ein. Wie bei jedem Bash-Skript ist die erste Zeile.e. „#!/bin/bash“ ist obligatorisch. Dann haben wir einen Null-String namens "name" deklariert. Ein Null-String in Bash kann deklariert werden, indem eine Variable mit „“ gleichgesetzt wird. Dann haben wir eine „if“-Anweisung gefolgt vom „-n“-Flag, das true zurückgibt, wenn ein String nicht null ist. Wir haben dieses Flag verwendet, um unseren String „name“ zu testen, der null ist. Dies bedeutet, dass die Bedingung „if“ nicht ausgeführt wird, da der Wert des Flags „-n“ in diesem Fall falsch ist. Daher haben wir auch einen „sonst“-Teil, der ausgeführt wird, indem eine Nachricht auf dem Terminal gedruckt wird.

Jetzt ist es an der Zeit, diese Datei auszuführen, was mit dem unten gezeigten Befehl durchgeführt werden kann:

$ bash-Strings.Sch

Da die von uns deklarierte Zeichenfolge null war, wurde der „else“-Teil unseres Skripts ausgeführt und die entsprechende Meldung auf dem Terminal ausgegeben, wie in der folgenden Abbildung gezeigt:

Beispiel # 2: Verwenden von „if -n“, um zu zeigen, dass ein String nicht Null ist

Um mit der Anweisung „if -n“ zu zeigen, dass ein String in Bash nicht null ist, führen wir die folgenden Schritte aus:

Wir werden das folgende Skript in unsere Bash-Datei eingeben. Die einzige Änderung, die wir an dem oben für dieses Szenario erstellten Skript vorgenommen haben, besteht darin, dass wir diesmal der Zeichenfolge „name“ einen gültigen Namen zugewiesen haben. Dies bedeutet, dass unser String diesmal nicht null ist, was bedeutet, dass der „if“-Teil des Skripts ausgeführt werden soll.

Führen Sie das Skript nun noch einmal aus, und Sie werden feststellen, dass unser modifiziertes Skript genau so funktioniert, wie wir es wollten, indem Sie diesmal den "if" -Teil des Skripts ausführen, wie in der Abbildung unten gezeigt:

Beispiel Nr. 3: Verwenden von „if -z“, um zu zeigen, dass ein String nicht Null ist

Um mit der Anweisung „if -z“ zu zeigen, dass ein String in Bash nicht null ist, führen wir die folgenden Schritte aus:

Das Skript für dieses Szenario ist fast das gleiche wie für das oben beschriebene Szenario scenario. Wir haben nur das Flag „-n“ durch das Flag „-z“ ersetzt, aber diesmal haben wir auch die Teile „if“ und „else“ des Skripts vertauscht, da das Flag „-z“ true zurückgibt, wenn der String ist Null. Dies bedeutet, dass dieses Mal der „else“-Teil des Skripts ausgeführt wird, da unser String nicht null war.

Sie können dies überprüfen, indem Sie das gerade geänderte Skript ausführen, und Sie können sehen, dass Ihre Zeichenfolge nicht null war, wie in der Abbildung unten gezeigt:

Beispiel # 4: Verwenden von „if -z“, um zu zeigen, dass ein String Null ist

Um mit der Anweisung „if -z“ zu zeigen, dass ein String in Bash null ist, führen wir die folgenden Schritte aus:

Wir haben für dieses Szenario dasselbe Skript verwendet wie für Beispiel # 3. Die einzige Änderung, die wir an diesem Skript vorgenommen haben, besteht darin, dass wir unseren String null gemacht haben, indem wir ihm den null-Wert zugewiesen haben, wie Sie in der folgenden Abbildung sehen können:

Wenn wir dieses Skript nun ausführen, wird der „if“-Teil des Skripts ausgeführt, da die Zeichenfolge null ist und daher der Wert des „-z“-Flags wahr ist, wie Sie in der folgenden Abbildung sehen können:

Beispiel Nr. 5: String-Benutzereingaben nehmen und mit „if -z“ testen

Um die vom Benutzer mit der Anweisung „if -z“ bereitgestellte String-Eingabe zu testen, führen wir die folgenden Schritte aus:

Wir werden das im Bild unten gezeigte Skript in unsere Bash-Datei kopieren. Hier bitten wir den Benutzer, eine Zeichenfolge einzugeben, und speichern diese Zeichenfolge dann in der Variablen „string“ mit dem Befehl „read“. Dann testen wir diesen String mit der Anweisung „if -z“, die ausgeführt wird, wenn der String null ist. Wenn dies der Fall ist, fordert dieses Skript den Benutzer auf, eine gültige Zeichenfolge einzugeben, und gibt diese Zeichenfolge aus. Wenn der Benutzer jedoch zum ersten Mal eine gültige Zeichenfolge eingibt, wird der „sonst“-Teil des Skripts ausgeführt.

Nachdem wir dieses Bash-Skript ausgeführt haben, haben wir, als wir aufgefordert wurden, einen String einzugeben, absichtlich einen Null-String eingegeben, d.e., wir haben einfach die Enter-Taste gedrückt. Aus diesem Grund hat uns unser Terminal aufgefordert, eine gültige Zeichenfolge einzugeben, wie in der folgenden Abbildung gezeigt:

Diesmal haben wir eine gültige Zeichenfolge „Hallo“ eingegeben, und daher hat das Terminal die entsprechende Nachricht gedruckt, wie in der folgenden Abbildung gezeigt:

Fazit

In diesem Artikel haben Sie alle verschiedenen Methoden gelehrt, mit denen Sie Ihre Strings auf NULL testen können, während Sie die Flags "-z" und "-n" mit der Anweisung "if" verwenden. Durch die Verwendung dieser Flags können wir beliebige Strings testen und sie somit sehr effizient in unseren Skripten verwenden.

SuperTuxKart für Linux
SuperTuxKart ist ein großartiger Titel, der entwickelt wurde, um Ihnen das Mario Kart-Erlebnis kostenlos auf Ihrem Linux-System zu bieten. Es ist ziem...
Battle for Wesnoth-Tutorial
The Battle for Wesnoth ist eines der beliebtesten Open-Source-Strategiespiele, die Sie derzeit spielen können. Dieses Spiel befindet sich nicht nur se...
0 A.D. Lernprogramm
Von den vielen Strategiespielen da draußen, 0 A.D. schafft es, sich trotz Open Source als umfassender Titel und sehr tiefgehendes, taktisches Spiel ab...