Ihr Linux-System verwendet Umgebungsvariablen, um Informationen zu speichern, auf die die Shell und andere Prozesse zugreifen können. Diese Variablen enthalten nützliche Daten zu Ihrer Benutzersitzung und Systemkonfiguration.
Grundlegende Umgebungsvariablen untersuchen
Sie können den Wert einer bestimmten Variablen anzeigen, indem Sie deren Namen ein $-Symbol voranstellen. Führen Sie zum Beispiel den folgenden Befehl aus:
echo $HOME
Dieser Befehl zeigt den Pfad zu Ihrem Home-Verzeichnis an, der etwa so aussehen könnte: /home/pete.
Versuchen Sie nun Folgendes:
echo $USER
Dies gibt Ihren aktuellen Benutzernamen aus. Aber woher stammen diese Informationen? Sie sind in der Umgebung Ihrer Shell gespeichert.
Was macht env unter Linux
Um alle Umgebungsvariablen anzuzeigen, die derzeit für Ihre Sitzung festgelegt sind, können Sie den Befehl env verwenden. Der linux env command ist ein grundlegendes Werkzeug zur Überprüfung der Konfiguration Ihrer Shell.
env
Wenn Sie den Befehl env ausführen, wird eine Liste von Schlüssel-Wert-Paaren ausgegeben. Hier ist ein kurzes Beispiel dafür, was Sie sehen könnten:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/bin
PWD=/home/user
USER=pete
Das Verständnis von linux env ist entscheidend für die effektive Verwaltung Ihres Systems.
Die Bedeutung der PATH-Variable
Eine der wichtigsten Variablen in Ihrer env linux-Ausgabe ist PATH. Sie können deren Inhalt gezielt mit folgendem Befehl anzeigen:
echo $PATH
Dieser Befehl gibt eine durch Doppelpunkte getrennte Liste von Verzeichnissen zurück. Wenn Sie einen Befehl eingeben, durchsucht Ihr System diese Verzeichnisse, um die entsprechende ausführbare Datei zu finden.
Stellen Sie sich vor, Sie installieren manuell ein Programm in einem nicht standardmäßigen Verzeichnis wie /opt/coolapp/bin. Wenn Sie versuchen, es auszuführen, indem Sie coolcommand eingeben, erhalten Sie möglicherweise eine Fehlermeldung „command not found“. Dies geschieht, weil das Verzeichnis, das Ihr Programm enthält, nicht in der PATH-Variable aufgeführt ist, sodass die Shell nicht weiß, wo sie danach suchen soll.
Um dies zu beheben, können Sie die PATH-Variable ändern, um das neue Verzeichnis einzuschließen. Indem Sie Ihr benutzerdefiniertes Verzeichnis zu PATH hinzufügen, ermöglichen Sie der Shell, Ihre Programme von überall im Terminal aus zu finden und auszuführen.
Festlegen einer Umgebungsvariable für die aktuelle Sitzung
Der folgende Befehl im Terminal legt die Umgebungsvariable TEST nur für die aktuelle Sitzung fest:
export TEST=test
Danach, wenn Sie ausführen:
echo $TEST
wird die Ausgabe sein:
test
Diese Variable ist verfügbar, solange die Terminalsitzung geöffnet bleibt. Sobald Sie das Terminal schließen und erneut öffnen, existiert die Variable nicht mehr.
Die Umgebungsvariable sitzungsübergreifend persistent machen
Wenn die Umgebungsvariable in jeder Terminalsitzung verfügbar sein soll (auch nach dem Schließen und erneuten Öffnen des Terminals), müssen Sie sie zur Startdatei Ihrer Shell hinzufügen. Im Falle von Bash (der Standard-Shell für viele Linux-Distributionen und macOS) ist diese Datei normalerweise .bashrc in Ihrem Home-Verzeichnis.
Hier erfahren Sie, wie Sie dies tun:
- Öffnen Sie
.bashrcin Ihrem bevorzugten Texteditor. Zum Beispiel:
nano ~/.bashrc
- Fügen Sie die
export-Zeile am Ende der Datei hinzu:
export TEST=test
-
Speichern und beenden Sie den Editor (in Nano wäre dies
Strg+X, dannJzur Bestätigung undEnter). -
Um die Änderungen sofort anzuwenden, ohne das Terminal erneut öffnen zu müssen, führen Sie Folgendes aus:
source ~/.bashrc
Danach ist die Variable TEST in allen zukünftigen Terminalsitzungen verfügbar, und die Ausführung von echo $TEST gibt test aus, auch nachdem Sie das Terminal geschlossen und erneut geöffnet haben.
Ein Hinweis zu Shell-Konfigurationsdateien
- Für Bash (Standard auf vielen Systemen) ist die relevante Datei
~/.bashrcfür nicht-anmeldende interaktive Shells. - Für Zsh ist die entsprechende Datei normalerweise
~/.zshrc. - Für Fish würden Sie typischerweise
~/.config/fish/config.fishverwenden.