Einführung
Jedes Mal, wenn Sie eine Shell-Sitzung unter Linux starten, durchläuft das System die Konfigurationsdateien und richtet die Umgebung entsprechend ein. Umgebungsvariablen spielen bei diesem Prozess eine wichtige Rolle.
In diesem Tutorial erfahren Sie, wie Sie Umgebungsvariablen unter Linux festlegen, anzeigen und zurücksetzen.
Voraussetzungen
- Jede Linux-Distribution (Debian, Ubuntu, RHEL, CentOS…)
- Zugriff auf die Befehlszeile
- Sudo-Berechtigungen
Was sind Umgebungsvariablen:Eine Definition
Umgebungsvariablen sind Variablen, die Werte enthalten, die zum Einrichten einer Shell-Umgebung erforderlich sind. Im Gegensatz zu Shell-Variablen bleiben Umgebungsvariablen in den untergeordneten Prozessen der Shell bestehen.
Strukturell sind Umgebungs- und Shell-Variablen gleich – beide sind ein Schlüssel-Wert-Paar, getrennt durch ein Gleichheitszeichen.
VARIABLE_NAME=value
Wenn eine Variable mehr als einen Wert hat, trennen Sie sie mit einem Semikolon:
VARIABLE_NAME=value_1:value_2
Variablen, die Leerzeichen enthalten, werden in Anführungszeichen geschrieben:
VARIABLE_NAME="Value text"
Die häufigsten Umgebungsvariablen
Hier sind einige Umgebungsvariablen, denen ein durchschnittlicher Benutzer begegnen kann:
PWD
– Aktuelles Arbeitsverzeichnis.HOME
– Der Speicherort des Benutzerverzeichnisses.SHELL
– Aktuelle Shell (bash, zsh usw.).LOGNAME
– Name des Benutzers.UID
– Eindeutige Kennung des Benutzers.HOSTNAME
– Hostname des Geräts im Netzwerk.MAIL
– E-Mail-Verzeichnis des Benutzers.EDITOR
– Der standardmäßige Texteditor des Linux-Systems.TEMP
– Verzeichnisspeicherort für temporäre Dateien.
So prüfen Sie Umgebungsvariablen
Alle Umgebungsvariablen anzeigen
Verwenden Sie printenv
Befehl, um alle Umgebungsvariablen anzuzeigen. Da die Liste viele Variablen enthält, verwenden Sie less
Befehl zur Steuerung der Ansicht:
printenv | less
Die Ausgabe zeigt die erste Seite der Liste und erlaubt Ihnen dann, weiter zu gehen, indem Sie die Leertaste drücken um die nächste Seite zu sehen oder Enter um die nächste Zeile anzuzeigen:
Verlassen Sie die Ansicht, indem Sie Q
drücken .
Eine einzelne Umgebungsvariable suchen
Verwenden Sie den folgenden Befehl, um einen einzelnen Umgebungsvariablenwert zu überprüfen:
printenv VARIABLE NAME
Die HOME
Variablenwert ist der Home-Ordnerpfad:
Alternativ können Sie den Wert einer Variablen anzeigen, indem Sie echo
verwenden Befehl. Die Syntax lautet:
echo $[VARIABLE_NAME]
Nach bestimmten Umgebungsvariablen suchen
Um alle Variablen zu finden, die eine bestimmte Zeichenfolge enthalten, verwenden Sie den grep-Befehl:
printenv | grep [VARIABLE_NAME]
Die Suchausgabe für USER
Variable zeigt die folgenden Zeilen:
Ein weiterer Befehl, mit dem Sie Umgebungsvariablen überprüfen können, ist set
. Dieser Befehl enthält jedoch auch lokale Variablen sowie Shell-Variablen und Shell-Funktionen.
Suchen Sie eine Umgebungsvariable in der Liste, die alle Variablen und Shell-Funktionen enthält, indem Sie set | grep
:
set | grep [VARIABLE_NAME]
Setzen Sie eine Umgebungsvariable in Linux
Der einfachste Weg, eine Variable über die Befehlszeile festzulegen, besteht darin, ihren Namen gefolgt von einem Wert einzugeben:
[VARIABLE_NAME]=[variable_value]
1. Erstellen Sie als Beispiel eine Variable namens EXAMPLE
mit einem Textwert. Wenn Sie den Befehl richtig eingeben, liefert die Shell keine Ausgabe.
2. Der set | grep
Der Befehl bestätigt die Erstellung der Variablen. Jedoch printenv
gibt keine Ausgabe zurück.
Dies liegt daran, dass die so erstellte Variable eine Shell-Variable ist.
3. Sie können dies auch bestätigen, indem Sie bash
eingeben und starten Sie eine untergeordnete Shell-Sitzung. Mit dem echo
Befehl, um nach EXAMPLE
zu suchen Variable gibt jetzt keine Ausgabe zurück:
So exportieren Sie eine Umgebungsvariable
1. Wenn Sie eine Shell-Variable in eine Umgebungsvariable umwandeln möchten, kehren Sie zur übergeordneten Shell zurück und export
es mit dem export-Befehl:
export [VARIABLE_NAME]
2. Verwenden Sie printenv
um den erfolgreichen Export zu bestätigen:
3. Wenn Sie jetzt eine untergeordnete Shell-Sitzung öffnen, echo
gibt den Wert der Umgebungsvariablen zurück:
Die so erstellte Umgebungsvariable verschwindet, nachdem Sie die aktuelle Shell-Sitzung beendet haben.
Eine Umgebungsvariable in Linux dauerhaft setzen
Wenn Sie möchten, dass eine Variable nach dem Schließen der Shell-Sitzung bestehen bleibt, müssen Sie sie dauerhaft als Umgebungsvariable festlegen. Sie können wählen, ob Sie es für den aktuellen Benutzer oder alle Benutzer festlegen möchten.
1. Um dauerhafte Umgebungsvariablen für einen einzelnen Benutzer festzulegen, bearbeiten Sie die Datei .bashrc
Datei:
sudo nano ~/.bashrc
2. Schreiben Sie eine Zeile für jede Variable, die Sie hinzufügen möchten, mit der folgenden Syntax:
export [VARIABLE_NAME]=[variable_value]
3. Speichern und beenden Sie die Datei. Die Änderungen werden angewendet, nachdem Sie die Shell neu gestartet haben. Wenn Sie die Änderungen während der aktuellen Sitzung anwenden möchten, verwenden Sie den Quellbefehl:
source ~/.bashrc
4. Um dauerhafte Umgebungsvariablen für alle Benutzer festzulegen, erstellen Sie eine .sh
Datei in /etc/profile.d
Ordner:
sudo nano /etc/profile.d/[filename].sh
5. Die Syntax zum Hinzufügen von Variablen zur Datei ist die gleiche wie bei .bashrc
:
6. Speichern und beenden Sie die Datei. Die Änderungen werden beim nächsten Einloggen übernommen.
So setzen Sie eine Umgebungsvariable zurück
Um eine Umgebungsvariable zurückzusetzen, verwenden Sie unset
Befehl:
unset [VARIABLE_NAME]
Dieser Befehl entfernt dauerhaft Variablen, die über einen Terminalbefehl exportiert wurden.
In Konfigurationsdateien gespeicherte Variablen werden ebenfalls aus der aktuellen Shell-Sitzung entfernt. Sie werden jedoch beim nächsten Einloggen wieder gesetzt.
Um eine in einer Datei gespeicherte Variable dauerhaft zurückzusetzen, gehen Sie zu der Datei und entfernen Sie die Zeile mit der Variablendefinition.