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.