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.
Variable mit echo anzeigen
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.
Variable mit printenv überprüfen
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.
Alle Variablen mit dem set-Befehl auflisten
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.



