Umgebungs- und Shell-Variablen unter Linux

Umgebungsvariablen finden sich nicht nur auf Windows-Systemen, sondern sind auch auf jedem Linux-System vorhanden. Darüber hinaus gibt es unter Linux auch Shell-Variablen. Der Unterschied besteht darin, dass Umgebungsvariablen global verfügbar sind, während Shell-Variablen nur in der aktuellen Shell zur Verfügung stehen.

Umgebungsvariablen ausgeben

Öffnet das Terminal und gebt den Befehl env ein. Dies zeigt Euch alle Umgebungsvariablen an. Wenn Ihr durch die Liste scrollt, werdet Ihr zum Beispiel die den Wert für die Variable HOME finden; es sollte der Pfad zu Eurem Home-Verzeichnis sein.

Mit grep kann die Ausgabe nach einer bestimmten Zeichenfolge gefiltert werden. Anstatt also die angezeigte Liste Zeile für Zeile durchzusehen, um die Umgebungsvariablen HOME zu finden, kann auch einfache

$ env | grep HOME
HOME=/home/bodo

verwendet werden.

Es gibt noch einen anderen Weg. Denn mit printenv lässt sich ebenfalls eine Liste mit den Umgebungsvariablen anzeigen. Darüber hinaus kann mit printenv direkt ein bestimmter Wert abgefragt werden:

$ printenv HOME
/home/bodo

Shell-Variablen ausgeben

Die Shell-Variablen lassen sich mit set anzeigen. Diese Liste ist aber in der Regel sehr lang, denn es werden zusätzlich die Umgebungsvariablen und die Shell-Funktionen angezeigt. Deswegen bietet sich der Einsatz von less an:

$ set | less

Außerdem kann set ebenfalls mit grep kombiniert werden. Im folgenden Beispiel wird damit nach dem Wert der Shell-Variablen PS1 gesucht:

$ set | grep PS1
PS1='[\u@\h \W]\$ '

Ausgabe einer Variable mit echo

Schließlich kann auch der Befehl echo verwendet werden, um den Wert einer Variablen zu erfahren:

$ echo $PS1
[\u@\h \W]\$

oder

$ echo $HOME
/home/bodo