Umgebungs-Variablen (Environment-Variablen) werden unter Linux (genauso wie auch unter anderen Systemen) benutzt, um z.B. Suchpfade zu Programmbinaries zu definieren. Ebenso sind unter Linux noch viele andere Variablen für alle erdenklichen Zwecke in Benutzung.

Wo man diese Variablen definiert, ist vom beabsichtigten Zweck abhängig. Entweder definiert man Variablen temporär. Die Variablendefinition ist somit nur bis zum nächsten Neustart gültig. Sollen Variablen bei jedem Systemstart automatisch gesetzt werden, kann man diese in den entsprechenden Dateien eintragen. Die Syntax ist jedoch immer gleich:

VARIABLE=0815

Mit dem Kommando echo kann man sich den Variableninhalt ausgeben lassen:

echo $VARIABLE
0815

Das Kommando export sorgt dafür, dass die Variable nicht nur in der aktuellen Shell, sondern auch in den von Ihr aufgerufenen Programmen zur Verfügung steht:

export VARIABLE

Man kann das alles auch in eine einzige Zeile packen:

export VARIABLE=0815

Wie gesagt, gelten solche Variablen nur für die aktuelle Sitzung. Variablen lassen sich jedoch auch dauerhaft definieren:

Environment-Variablen werden bei der Prozessgenerierung vererbt, d.h. Kindprozesse bekommen eine Kopie des Environments des Vaterprozesses und vererben dies auch wieder an ihre Kinder weiter.

PATH erweitern

Angenommen, wir wollen /usr/local/progdir zusätzlich im Suchpfad haben - dann dort reinschreiben an einer passenden Stelle:

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

Damit wird zuerst eine Variable PATH definiert, die am Anfang den Wert der seitherigen PATH-Variable, gefolgt von einem Doppelpunkt und dem dann am Schluss angehängten /usr/local/progdir enthält. Mit dem export-Kommando der Shell wird dann diese Variable in's Environment geschrieben.

.bashrc ist übrigens auch möglich, aber unnötig aufwendig, weil dort enthaltene Befehle ja bei jedem Start einer bash ausgeführt werden. Da die Environment-Variablen ja aber eh vererbt werden, ist dies nur einmal bei der Login-Shell notwendig, alle darunter gestarteten Bash-Prozesse erben dann die Settings.

Proxy definieren

export http_proxy=http://mein.proxy.firma

Analog funktioniert das auch mit ftp_proxy.

Environment anzeigen

printenv [Variable ...]

gibt den Wert aller bzw. der angegebene(n) Umgebungsvariablen aus.

Locale

Über die Locale-Umgebungs-Variablen lassen sich auch DeutscheMeldungen (Ausgabe und Fehlermeldungen) von Programmen einstellen.

Beispiele

Um KDE-Programme selbst kompilieren zu können, müssen diverse Variablen gesetzt werden. Hier ein Beispiel für SuSE 8.X:

export KDEDIR=/opt/kde3
export QTDIR=/usr/lib/qt3

UmgebungsVariable (zuletzt geändert am 2010-06-18 08:51:28 durch p54A142B6)