Wie man prüft, ob eine Variable in Linux definiert 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 Variablen in der Linux-Befehlszeile lernen. Sie beginnen damit, zu verstehen, wie Sie die Werte von Variablen mit dem Befehl echo anzeigen können. Dies ist eine entscheidende Fähigkeit, um Umgebungs-Einstellungen und andere gespeicherte Informationen zu überprüfen.

Danach werden Sie untersuchen, wie Sie mithilfe des test-Befehls mit der Option -z prüfen können, ob Variablen existieren oder leer sind. Dies ist für bedingte Logik in Skripten unerlässlich. Abschließend werden Sie erfahren, wie Sie alle aktuell definierten Umgebungsvariablen mit dem Befehl env auflisten können, um einen umfassenden Überblick über die Umgebung Ihrer Shell zu erhalten.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/test("Condition Testing") linux/UserandGroupManagementGroup -.-> linux/env("Environment Managing") linux/UserandGroupManagementGroup -.-> linux/unset("Variable Unsetting") subgraph Lab Skills linux/echo -.-> lab-558776{{"Wie man prüft, ob eine Variable in Linux definiert ist"}} linux/test -.-> lab-558776{{"Wie man prüft, ob eine Variable in Linux definiert ist"}} linux/env -.-> lab-558776{{"Wie man prüft, ob eine Variable in Linux definiert ist"}} linux/unset -.-> lab-558776{{"Wie man prüft, ob eine Variable in Linux definiert ist"}} end

Anzeigen des Variablenwerts mit echo

In diesem Schritt werden Sie lernen, wie Sie den Wert einer Variablen mit dem Befehl echo anzeigen können. Variablen in Linux werden verwendet, um Informationen zu speichern, auf die die Shell und andere Programme zugreifen und nutzen können.

Eine häufige Art von Variablen sind Umgebungsvariablen (environment variables), die Informationen über die Umgebung des Benutzers speichern, wie beispielsweise den aktuellen Benutzer, das Heimatverzeichnis und den Terminaltyp.

Um den Wert einer Variablen anzuzeigen, verwenden Sie den Befehl echo, gefolgt von einem Dollarzeichen ($) und dem Variablennamen. Das Dollarzeichen teilt der Shell mit, dass Sie den Wert der Variablen sehen möchten, nicht den Variablennamen selbst.

Lassen Sie uns den Wert der Umgebungsvariablen USER anzeigen, die den Namen des aktuell angemeldeten Benutzers speichert.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

echo $USER

Sie sollten die folgende Ausgabe sehen:

labex

Dies zeigt, dass der Wert der Variablen USER labex ist, was Ihr aktueller Benutzername in der LabEx-Umgebung ist.

Nun lassen Sie uns den Wert der Umgebungsvariablen HOME anzeigen, die den Pfad zu Ihrem Heimatverzeichnis speichert.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

echo $HOME

Sie sollten die folgende Ausgabe sehen:

/home/labex

Dies bestätigt, dass Ihr Heimatverzeichnis /home/labex ist.

Sie können auch den Wert der Umgebungsvariablen SHELL anzeigen, die den Pfad zum Shell-Programm zeigt, das Sie derzeit verwenden.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

echo $SHELL

Sie sollten die folgende Ausgabe sehen:

/usr/bin/zsh

Dies zeigt an, dass Sie derzeit die zsh-Shell verwenden.

Das Verwenden von echo mit dem Dollarzeichen ist eine grundlegende Methode, um auf die Werte von Variablen in der Linux-Terminal zuzugreifen und sie anzuzeigen.

Prüfen der Existenz einer Variablen mit test -z

In diesem Schritt werden Sie lernen, wie Sie mithilfe des test-Befehls mit der Option -z prüfen können, ob eine Variable leer ist oder nicht definiert ist. Dies ist in Skripten nützlich, um Entscheidungen zu treffen, basierend darauf, ob eine Variable einen Wert hat.

Der test-Befehl wird verwendet, um bedingte Ausdrücke auszuwerten. Die Option -z prüft, ob die Länge einer Zeichenkette Null ist. Wenn die Zeichenkette leer ist (oder die Variable nicht definiert ist), ist der Test wahr.

Lassen Sie uns prüfen, ob eine Variable namens MY_VARIABLE definiert ist. Zunächst stellen wir sicher, dass sie nicht definiert ist.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

unset MY_VARIABLE

Der unset-Befehl entfernt eine Variable. Jetzt verwenden wir test -z, um zu prüfen, ob MY_VARIABLE leer ist. Wir kombinieren es mit echo, um das Ergebnis des Tests zu sehen. Der Operator && führt den zweiten Befehl nur aus, wenn der erste Befehl erfolgreich ist (gibt einen wahren Wert zurück, was für test bedeutet, dass die Bedingung erfüllt ist).

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"

Da wir gerade MY_VARIABLE entfernt haben, ist die Bedingung test -z "$MY_VARIABLE" wahr (die Variable ist leer), daher wird der echo-Befehl ausgeführt.

Sie sollten die folgende Ausgabe sehen:

MY_VARIABLE is empty or not set

Jetzt legen wir einen Wert für MY_VARIABLE fest.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

MY_VARIABLE="Hello"

Jetzt führen wir den gleichen test -z-Befehl erneut aus.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"

Diesmal hat MY_VARIABLE den Wert "Hello", also ist es nicht leer. Die Bedingung test -z "$MY_VARIABLE" ist falsch, und der echo-Befehl wird nicht ausgeführt.

Sie sollten diesmal keine Ausgabe vom echo-Befehl sehen.

Dies zeigt, wie test -z verwendet werden kann, um zu prüfen, ob eine Variable leer ist oder nicht definiert ist. Dies ist ein grundlegendes Konzept, das in Shell-Skripten für bedingte Logik verwendet wird.

Auflisten aller Umgebungsvariablen mit env

In diesem Schritt werden Sie lernen, wie Sie alle Umgebungsvariablen (environment variables), die derzeit in Ihrer Shell-Sitzung festgelegt sind, mithilfe des env-Befehls auflisten können.

Umgebungsvariablen sind entscheidend für das Verhalten Ihrer Shell und Ihrer Programme. Sie speichern Konfigurationsinformationen, Pfade zu ausführbaren Dateien und andere Einstellungen.

Der env-Befehl gibt, wenn er ohne Argumente ausgeführt wird, eine Liste aller Umgebungsvariablen und ihrer Werte aus.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

env

Sie werden eine lange Ausgabe sehen, ähnlich wie diese (die genaue Ausgabe variiert je nach Ihrem System und Ihrer Konfiguration):

SHELL=/usr/bin/zsh
COLORTERM=truecolor
...
USER=labex
...
HOME=/home/labex
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
...
PWD=/home/labex/project
...

Jede Zeile in der Ausgabe repräsentiert eine Umgebungsvariable im Format VARIABLE_NAME=value.

Sie können einige der Variablen sehen, die wir in den vorherigen Schritten untersucht haben, wie USER, HOME und SHELL. Sie werden auch viele andere sehen, wie PATH, das der Shell mitteilt, wo sie nach ausführbaren Befehlen suchen soll, und PWD, das Ihr aktuelles Arbeitsverzeichnis anzeigt.

Der env-Befehl ist ein einfaches, aber mächtiges Werkzeug zum Untersuchen der Umgebung Ihrer Shell. Es wird oft zum Debuggen oder zum Verständnis des Verhaltens eines Programms in Abhängigkeit von seiner Umgebung verwendet.

Da die Ausgabe recht lang sein kann, können Sie die Ausgabe von env an einen Pager wie less weiterleiten, um sie Bildschirm für Bildschirm anzuzeigen.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

env | less

Verwenden Sie die Pfeiltasten, um nach oben und unten zu scrollen, und drücken Sie q, um less zu beenden.

In diesem Schritt haben Sie gelernt, wie Sie alle Umgebungsvariablen auflisten können. In den nächsten Schritten werden Sie mehr darüber erfahren, wie diese Variablen verwendet werden und wie Sie mit ihnen interagieren können.

Zusammenfassung

In diesem Lab haben Sie grundlegende Techniken zum Umgang mit Variablen in Linux gelernt. Sie haben gelernt, den echo-Befehl zusammen mit dem Dollarzeichen ($) zu verwenden, um die Werte von Umgebungsvariablen wie USER, HOME und SHELL anzuzeigen, und verstanden, wie dieser Befehl die gespeicherten Informationen abruft.

Darüber hinaus haben Sie untersucht, wie Sie mithilfe des test-Befehls mit der Option -z prüfen können, ob eine Variable existiert oder leer ist. Dies ist eine entscheidende Fähigkeit für bedingte Logik in Skripten. Schließlich haben Sie gelernt, wie Sie alle derzeit definierten Umgebungsvariablen mit dem env-Befehl auflisten können, was einen umfassenden Überblick über die Umgebung der Shell bietet.