Wie man prüft, ob ein String in Linux leer ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden Sie grundlegende Techniken zum Umgang mit Strings (Zeichenketten) in Linux lernen. Sie werden entdecken, wie Sie effektiv prüfen können, ob ein String leer ist, indem Sie den Befehl test -z verwenden. Dies ist eine entscheidende Fähigkeit für bedingte Logik in Shell-Skripten. Darüber hinaus werden Sie üben, den Inhalt eines Strings mit dem vielseitigen Befehl echo anzuzeigen und erfahren, wie Sie die Länge eines Strings mit dem Befehl expr length messen können. Diese praktischen Übungen werden Ihnen praktische Erfahrungen bei der Manipulation und Analyse von Strings in der Linux-Umgebung vermitteln.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/test("Condition Testing") linux/TextProcessingGroup -.-> linux/expr("Evaluate Expressions") subgraph Lab Skills linux/echo -.-> lab-558767{{"Wie man prüft, ob ein String in Linux leer ist"}} linux/test -.-> lab-558767{{"Wie man prüft, ob ein String in Linux leer ist"}} linux/expr -.-> lab-558767{{"Wie man prüft, ob ein String in Linux leer ist"}} end

Prüfen der Leerheit eines Strings mit test -z

In diesem Schritt werden Sie lernen, wie Sie in Linux prüfen können, ob ein String leer ist, indem Sie den Befehl test mit der Option -z verwenden. Dies ist eine grundlegende Operation beim Umgang mit Strings in Shell-Skripten.

Der Befehl test wird verwendet, um bedingte Ausdrücke auszuwerten. Die Option -z prüft speziell, ob die Länge eines Strings null ist. Wenn der String leer ist, ist der Test wahr; andernfalls ist er falsch.

Probieren wir es in der Shell aus. Zunächst definieren wir eine Variable für einen leeren String. In Shell-Skripten definieren Sie eine Variable, indem Sie ihren Namen eingeben, gefolgt von einem Gleichheitszeichen (=) und dann dem Wert. Es sollten keine Leerzeichen um das Gleichheitszeichen herum sein.

Geben Sie den folgenden Befehl ein, um eine Variable namens my_string für einen leeren String zu definieren:

my_string=""

Nun verwenden wir den Befehl test -z, um zu prüfen, ob my_string leer ist. Der Befehl test selbst erzeugt keine Ausgabe; sein Ergebnis wird verwendet, um den Ablauf eines Skripts zu steuern (dazu lernen Sie später mehr). Wir können jedoch sein Ergebnis sehen, indem wir den Exit-Status des vorherigen Befehls mit echo $? überprüfen. Ein Exit-Status von 0 zeigt Erfolg (wahr) an, und ein nicht-null-Status zeigt Fehler (falsch) an.

Geben Sie den folgenden Befehl ein, um zu prüfen, ob my_string leer ist:

test -z "$my_string"

Nachdem Sie den test-Befehl ausgeführt haben, überprüfen Sie seinen Exit-Status:

echo $?

Da my_string leer ist, sollte der test -z-Befehl als wahr ausgewertet werden, und der echo $?-Befehl sollte 0 ausgeben.

Nun definieren wir einen nicht-leeren String:

another_string="Hello"

Und prüfen, ob er leer ist:

test -z "$another_string"

Überprüfen Sie den Exit-Status:

echo $?

Diesmal sollte, da another_string nicht leer ist, der test -z-Befehl als falsch ausgewertet werden, und der echo $?-Befehl sollte 1 ausgeben.

Das Verständnis, wie man leere Strings prüft, ist entscheidend für das Schreiben robuster Shell-Skripte, die verschiedene Eingaben korrekt verarbeiten.

Anzeigen des String-Inhalts mit echo

In diesem Schritt werden Sie lernen, wie Sie den Inhalt einer String-Variablen mit dem Befehl echo anzeigen können. Wie Sie im ersten Lab gesehen haben, wird echo verwendet, um Text in der Shell auszugeben. Wenn es mit Variablen verwendet wird, gibt es den in der Variable gespeicherten Wert aus.

Denken Sie an den vorherigen Schritt, in dem wir eine Variable namens another_string definiert und ihr den Wert "Hello" zugewiesen haben.

another_string="Hello"

Um den Inhalt dieser Variable anzuzeigen, verwenden Sie den Befehl echo, gefolgt von einem Dollarzeichen ($) und dem Variablennamen. Das Dollarzeichen ist wichtig; es teilt der Shell mit, dass Sie den Wert der Variable verwenden möchten, nicht den Variablennamen selbst als literalen String.

Geben Sie den folgenden Befehl ein, um den Inhalt von another_string anzuzeigen:

echo "$another_string"

Sie sollten die folgende Ausgabe sehen:

Hello

Sie können die Variable auch in einen längeren String einfügen. Dies ist eine gängige Methode, um Variablenwerte in Nachrichten einzubetten.

Geben Sie den folgenden Befehl ein:

echo "The value of the string is: $another_string"

Sie sollten die folgende Ausgabe sehen:

The value of the string is: Hello

Es wird im Allgemeinen empfohlen, doppelte Anführungszeichen (") um den Variablennamen oder den gesamten String zu setzen. Dies hilft, Probleme mit Leerzeichen oder Sonderzeichen im Wert der Variable zu vermeiden.

Versuchen wir, den leeren String anzuzeigen, den wir zuvor definiert haben, my_string:

echo "$my_string"

Da my_string leer ist, wird dieser Befehl einfach eine leere Zeile ausgeben.

Der Befehl echo ist ein grundlegendes Werkzeug zum Anzeigen von Informationen und zum Debuggen in Shell-Skripten. Sie werden ihn häufig verwenden, um die Werte von Variablen und die Ausgabe von Befehlen zu sehen.

Messen der Stringlänge mit expr length

In diesem Schritt werden Sie lernen, wie Sie die Länge eines Strings mit dem Befehl expr und dem Operator length messen können. Der Befehl expr wird verwendet, um Ausdrücke auszuwerten, einschließlich mathematischer Operationen und String-Manipulationen.

Der Operator length in expr nimmt einen String als Argument und gibt die Anzahl der Zeichen in diesem String zurück.

Wir verwenden die Variable another_string, die wir in den vorherigen Schritten definiert haben und den Wert "Hello" hat.

another_string="Hello"

Um die Länge von another_string zu ermitteln, verwenden Sie den Befehl expr, gefolgt vom Operator length und dem Wert der Variable. Denken Sie daran, das Dollarzeichen ($) vor dem Variablennamen zu verwenden, um seinen Wert zu erhalten.

Geben Sie den folgenden Befehl ein:

expr length "$another_string"

Sie sollten die folgende Ausgabe sehen, die die Anzahl der Zeichen in "Hello" ist:

5

Nun versuchen wir, die Länge des leeren Strings my_string zu ermitteln:

my_string=""

Geben Sie den Befehl ein:

expr length "$my_string"

Die Ausgabe sollte sein:

0

Dies bestätigt, dass die Länge eines leeren Strings tatsächlich null ist.

Der Befehl expr length ist eine einfache Methode, um die Anzahl der Zeichen in einem String in Shell-Skripten zu erhalten. Dies ist in verschiedenen Szenarien nützlich, wie z. B. bei der Validierung der Eingabelänge oder beim Iterieren durch Zeichen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie in Linux überprüfen können, ob ein String leer ist, indem Sie den Befehl test -z verwenden. Dieser Befehl ergibt true (Exit-Status 0), wenn der String leer ist, und false (Exit-Status 1) sonst. Sie haben das Definieren von sowohl leeren als auch nicht-leeren String-Variablen geübt und die Ausgabe von test -z überprüft, indem Sie den Exit-Status mit echo $? geprüft haben. Sie haben auch gelernt, wie Sie den Inhalt einer String-Variablen mit dem Befehl echo anzeigen können und wie Sie die Länge eines Strings mit dem Befehl expr length messen können. Diese grundlegenden Operationen sind für die Arbeit mit Strings in Shell-Skripten unerlässlich.