In Linux kann man im Terminal sehr schnell eine Umgebungsvariable (Environment Variable) setzen, um deren Wert global für andere Programme und Nutzer verfügbar zu machen. Wie das geht, erklären wir hier.
Environment Variable: Was ist eine Umgebungsvariable?
In Betriebssystemen wie Linux, Windows oder MacOS gibt es sogenannte Umgebungsvariablen, die auch „globale Variablen“ oder „Environment Variables“ genannt werden. Diese konfigurierbaren Variablen enthalten Pfade zu bestimmten Programmen, bestimmte Zeichenketten oder Einstellungen, die von allen Programmen, Prozessen (oder Nutzern) verwendet werden können. Sie sind nützlich, um Werte systemweit zu speichern und zu lesen.
Beispiel für Linux: In der Umgebungsvariable PATH werden Verzeichnisse angegeben, in denen das Betriebssystem nach ausführbaren Programmen suchen soll. Wenn man in seinem Home-Verzeichnis in Linux also einen Ordner „Meine_Programme“ angelegt hat, der ausführbare Bash-Skripte oder Programme enthält, kann man diesen Ordner permanent der PATH-Variable hinzufügen. Dadurch kann man diese Programme dann von jedem Terminal aus starten, ohne vorher erst in den Ordner /home/user/Meine_Programme
wechseln zu müssen. Dies tut man in der Regel, indem man die Datei ~/.bashrc öffnet und am Ende der Datei die Zeile export PATH=$PATH:/pfad/zum/verzeichnis
hinzufügt. Statt „pfad/zum/Verzeichnis“ gibt man dann den Pfad des Ordners ein und speichert die Datei ab. Der Pfad wird dann jedes Mal zur PATH-Variable hinzugefügt, wenn ein Terminal geöffnet wird.
Welche Umgebungsvariablen gibt es?
Es gibt viele Umgebungsvariablen in Linux, Windows und MacOS. Dies sind einige der Bekanntesten:
- PATH: Speichert eine Liste an Verzeichnissen, in denen das Betriebssystem nach ausführbaren Programmen suchen soll.
- OS: Informationen über das Betriebssystem.
- USERNAME: Enthält den derzeitigen Nutzernamen.
- SystemRoot: Das Root-Verzeichnis des Systems.
- In Windows: HOMEDRIVE, HOMEPATH: Zeigt das Home-Verzeichnis des derzeitigen Nutzers.
Um eine Umgebungsvariable in Linux oder MacOS anzeigen zu lassen oder zu setzen, müsst ihr im Gegensatz zu Windows die Groß- und Kleinschreibung beachten. Der Name von Umgebungsvariablen wird meistens nur groß geschrieben. Wenn ihr versehentlich Klein- statt Großschreibung benutzt, wird euch stattdessen eine Leerzeile angezeigt, was bedeutet, dass diese Variable (mit Kleinschreibung) keinen Wert enthält.
Linux: get environment variable (Umgebungsvariablen lesen)
Um eine Liste aller Environment-Variables anzeigen zu lassen, gebt folgenden Terminal-Befehl ein:
printenv
Um den Inhalt einer bestimmten Variable anzeigen zu lassen, etwa die eurer genutzten BASH-Version (gespeichert in BASH_VERSION), nutzt ihr den Befehl echo
und gebt ein Dollar-Zeichen ($) und die Variable dahinter an:
echo $BASH_VERSION
Falls ihr das $-Zeichen vergesst, wird stattdessen nur die Zeichenkette hinter „echo“ erneut ausgegeben. Alternativ könnt ihr auch den Befehl set
benutzen, um alle Umgebungsvariablen anzuzeigen. Dieser gibt aber sowohl globale als auch lokale Variablen aus.
Linux: set environment variable (Umgebungsvariablen setzen)
Um den Wert einer Umgebungsvariable zu setzen, nutzt ihr den Befehl export
, gefolgt von dem Namen der Variable, einem Gleichheitszeichen und dem zuzuweisenden Wert:
export varname=value
Um der Umgebungsvariable JAVA_HOME
beispielsweise den Java-Installationspfad /opt/openjdk11
zuzuweisen, lautet der Befehl:
export JAVA_HOME=/opt/openjdk11
Beachtet, dass hier ohne das Dollar-Zeichen ($) gearbeitet wird. Falls der zuzuweisende Wert Leerzeichen beinhalten sollte, schreibt diesen in Anführungszeichen, damit der Befehl funktioniert.