Wie man prüft, ob eine Umgebungsvariable in Linux festgelegt 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 Umgebungsvariablen in Linux lernen. Sie werden untersuchen, wie Sie den Wert einer bestimmten Variablen mit dem Befehl echo anzeigen, überprüfen können, ob eine Variable festgelegt ist, und ihren Wert mit dem Befehl printenv anzeigen, sowie alle aktuell festgelegten Umgebungsvariablen mit dem Befehl set auflisten. Diese Fähigkeiten sind unerlässlich für das Verständnis und die Interaktion mit der Linux-Shell und der Systemumgebung.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/UserandGroupManagementGroup -.-> linux/env("Environment Managing") linux/UserandGroupManagementGroup -.-> linux/set("Shell Setting") subgraph Lab Skills linux/echo -.-> lab-558782{{"Wie man prüft, ob eine Umgebungsvariable in Linux festgelegt ist"}} linux/env -.-> lab-558782{{"Wie man prüft, ob eine Umgebungsvariable in Linux festgelegt ist"}} linux/set -.-> lab-558782{{"Wie man prüft, ob eine Umgebungsvariable in Linux festgelegt ist"}} end

Anzeigen einer Variablen mit echo

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

Eine häufige Variable, der Sie begegnen werden, ist $HOME, die den Pfad zu Ihrem Home-Verzeichnis speichert. Lassen Sie uns seinen Wert anzeigen.

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

echo $HOME

Sie sollten den Pfad zu Ihrem Home-Verzeichnis im Terminal sehen, der in dieser Umgebung typischerweise /home/labex ist.

/home/labex

Das $-Symbol vor dem Variablennamen ist von entscheidender Bedeutung. Es teilt der Shell mit, dass Sie den Wert der Variablen sehen möchten, nicht die literale Zeichenkette "$HOME".

Jetzt versuchen wir, eine Variable anzuzeigen, die nicht existiert.

Geben Sie diesen Befehl ein und drücken Sie die Eingabetaste:

echo $MY_VARIABLE

Sie werden keine Ausgabe sehen. Dies liegt daran, dass die Variable MY_VARIABLE nicht festgelegt wurde, also ist ihr Wert leer.

Sie können auch mehrere Variablen gleichzeitig anzeigen:

echo $HOME $USER

Dies wird den Wert der $HOME-Variable gefolgt vom Wert der $USER-Variable ausgeben (dies ist Ihr Benutzername, labex).

/home/labex labex

Das Verständnis, wie man Variablen anzeigt, ist eine grundlegende Fähigkeit in Linux, da Variablen in Skripten und Systemkonfigurationen häufig verwendet werden.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Überprüfen einer Variablen mit printenv

Im vorherigen Schritt haben Sie echo verwendet, um den Wert einer Variablen anzuzeigen. Ein weiterer nützlicher Befehl für die Arbeit mit Umgebungsvariablen ist printenv.

printenv ist speziell dafür entwickelt, die Werte von Umgebungsvariablen auszugeben. Umgebungsvariablen sind eine besondere Art von Variablen, die für Prozesse, die im System laufen, verfügbar sind.

Lassen Sie uns printenv verwenden, um den Wert der $USER-Variable anzuzeigen.

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

printenv USER

Sie sollten Ihren Benutzernamen, labex, im Terminal sehen.

labex

Beachten Sie, dass Sie bei der Verwendung von printenv nicht das $-Symbol vor dem Variablennamen verwenden. printenv erwartet den Variablennamen selbst als Argument.

Was passiert, wenn Sie versuchen, eine Variable auszugeben, die nicht existiert, indem Sie printenv verwenden?

Geben Sie diesen Befehl ein und drücken Sie die Eingabetaste:

printenv MY_VARIABLE

Ähnlich wie bei echo werden Sie keine Ausgabe sehen, da die Variable MY_VARIABLE nicht als Umgebungsvariable festgelegt ist.

Während echo jede Variable anzeigen kann, ist printenv speziell für Umgebungsvariablen. In vielen Fällen können Sie entweder verwenden, aber printenv wird oft bevorzugt, wenn Sie speziell mit Umgebungsvariablen arbeiten möchten.

Klicken Sie auf Weiter, um fortzufahren.

Auflisten aller Variablen mit dem set-Befehl

In den vorherigen Schritten haben Sie gelernt, wie Sie einzelne Variablen mit echo und printenv anzeigen können. Aber was ist, wenn Sie alle Variablen sehen möchten, die derzeit in Ihrer Shell-Umgebung festgelegt sind?

Der set-Befehl listet, wenn er ohne Argumente verwendet wird, alle Shell-Variablen auf, einschließlich Umgebungsvariablen und shell-spezifischen Variablen.

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

set

Sie werden eine lange Liste von Variablen und ihren Werten sehen. Diese Ausgabe enthält Umgebungsvariablen (wie HOME, USER, PATH) sowie Variablen, die speziell für Ihre aktuelle Shell-Sitzung gelten.

...
HOME=/home/labex
HOSTNAME=...
HOSTTYPE=x86_64
...
LANG=C.UTF-8
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
...
SHELL=/usr/bin/zsh
...
USER=labex
...

Die Ausgabe kann recht umfangreich sein. Sie können durch sie scrollen, um die verschiedenen Variablen zu sehen, die standardmäßig in Ihrer Umgebung festgelegt sind.

Wenn Sie die Ausgabe von set mit der von printenv vergleichen (wenn Sie printenv ohne Argumente ausführen würden), würden Sie bemerken, dass set mehr Variablen enthält. Dies liegt daran, dass set alle Shell-Variablen anzeigt, während printenv nur Umgebungsvariablen anzeigt.

Das Verständnis des Unterschieds zwischen Shell-Variablen und Umgebungsvariablen ist wichtig, wenn Sie tiefer in Linux eintauchen. Umgebungsvariablen werden von Kindprozessen geerbt, während Shell-Variablen normalerweise lokal für die aktuelle Shell-Sitzung sind.

Sie haben nun drei Methoden gelernt, um mit Variablen in Linux zu interagieren: echo (zum Anzeigen einzelner Variablen), printenv (zum Anzeigen von Umgebungsvariablen) und set (zum Auflisten aller Shell-Variablen).

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben Sie grundlegende Methoden zur Interaktion mit Umgebungsvariablen in Linux gelernt. Zunächst haben Sie untersucht, wie Sie den echo-Befehl mit dem $-Präfix verwenden, um den Wert einer bestimmten Variablen anzuzeigen. Dabei haben Sie verstanden, dass eine nicht festgelegte Variable keine Ausgabe erzeugt. Sie haben auch geübt, mehrere Variablen gleichzeitig mit echo anzuzeigen. Anschließend wurden Sie mit dem printenv-Befehl vertraut gemacht, einem speziellen Tool zur Überprüfung und Anzeige der Werte von Umgebungsvariablen.