LU05b - Systemvariablen

Shell Prog: Kaptitel 2.8

Shell Prog: Kaptitel 2.9

Systemvariablen (auch Umgebungsvariablen genannt) sind spezielle Variablen, die von der Shell und dem Betriebssystem bereitgestellt werden. Sie enthalten wichtige Informationen über das System, die Umgebung und die aktuelle Shell-Sitzung. Systemvariablen sind für alle Prozesse in der Umgebung verfügbar und werden häufig genutzt, um Konfigurationsdaten bereitzustellen oder Verhalten zu steuern.

Eigenschaften von Systemvariablen

Wichtige Systemvariablen

Hier sind einige der am häufigsten verwendeten Systemvariablen in Bash:

Variable Beschreibung
HOME Das Heimatverzeichnis des aktuellen Benutzers.
PATH Eine Liste von Verzeichnissen, in denen die Shell nach ausführbaren Programmen sucht.
USER Der Benutzername des aktuell angemeldeten Benutzers.
PWD Das aktuelle Arbeitsverzeichnis.
SHELL Der Pfad zur Standard-Shell des Benutzers.
LANG Die Spracheinstellung der Shell.
LOGNAME Der Login-Name des Benutzers.
EDITOR Der Standardeditor für die Shell.
UID Die Benutzer-ID des aktuellen Benutzers.

Systemvariablen anzeigen

Sie können alle aktuell gesetzten Systemvariablen mit dem Befehl env oder printenv anzeigen:

env

Um den Wert einer einzelnen Variable zu überprüfen, verwenden Sie `echo`:

echo $HOME
echo $PATH

Systemvariablen ändern

Systemvariablen können innerhalb der Shell oder eines Skripts geändert werden. Änderungen gelten jedoch nur für die aktuelle Sitzung, es sei denn, sie werden in eine Konfigurationsdatei wie ~/.bashrc oder ~/.bash_profile geschrieben.

Beispiel: Ändern der PATH-Variable

export PATH=$PATH:/usr/local/bin

Hier wird /usr/local/bin am Ende der bestehenden PATH-Variable hinzugefügt.

Temporäre vs. Permanente Änderungen

echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc
source ~/.bashrc

Fazit

Systemvariablen sind ein mächtiges Werkzeug in Bash, das Ihnen erlaubt, die Umgebung zu steuern und Skripte flexibel zu gestalten. Ein Verständnis dieser Variablen ist entscheidend für effektives Arbeiten in der Shell!


Marcel Suter