Umgebungsvariablen in Linux verwalten

Umgebungsvariablen bieten eine flexible Möglichkeit, das Verhalten von Software zu beeinflussen, ohne den Quellcode anpassen zu müssen. Die meisten Linux-Distributionen enthalten bereits eine Reihe vordefinierter Variablen. Zusätzlich kannst du eigene Variablen anlegen, um Konfigurationsdaten zu speichern, das Verhalten von Anwendungen zu steuern oder Werte zwischen Prozessen und Shell-Skripten auszutauschen.

In dieser Anleitung erfährst du, wie du Umgebungsvariablen in Linux anzeigen, erstellen, bearbeiten und löschen kannst. Außerdem lernst du, wie du Variablen dauerhaft speicherst, systemweit gültige Variablen definierst und sie in Shell-Skripten nutzt.

Vorhandene Umgebungsvariablen anzeigen

Linux-Systeme legen automatisch mehrere Umgebungsvariablen an, beispielsweise HOME, USER, PWD und PATH. Befolge die folgenden Schritte, um sie direkt im Terminal einzusehen.

Alle aktuellen Umgebungsvariablen auflisten

Ausgabe:

PWD=/home/user
HOME=/home/user
USER=user
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Alternativ kannst du auch den Befehl printenv ausführen, um alle aktuell gesetzten Umgebungsvariablen anzuzeigen.

Eine einzelne Umgebungsvariable anzeigen

Mit folgendem Befehl gibst du deinen aktuellen Benutzernamen aus:

Nach einer bestimmten Variable suchen

Um eine bestimmte Variable im Schlüssel-Wert-Format anzuzeigen, kannst du grep verwenden:

Dasselbe Ergebnis erhältst du auch mit printenv | grep USER.

Temporäre Umgebungsvariablen erstellen

Um eine temporäre Umgebungsvariable in Linux zu erstellen, gib den Variablennamen (in Großbuchstaben) gefolgt von einem Gleichheitszeichen und dem gewünschten Wert an. Solche Variablen gelten nur für die aktuelle Terminalsitzung und werden gelöscht, sobald du die Shell schließt.

Eine neue temporäre Variable definieren

Wenn der Wert Leerzeichen enthält, setze ihn in Anführungszeichen:

Variable exportieren

Damit die Variable auch in untergeordneten Prozessen verfügbar ist, exportiere sie:

Variable überprüfen

Ausgabe:

Temporäre Umgebungsvariablen bleiben nur während der aktuellen Shell-Sitzung aktiv. Nach dem Schließen des Terminals werden sie automatisch gelöscht.

Umgebungsvariablen dauerhaft speichern

Damit Variablen auch nach dem Schließen des Terminals erhalten bleiben, definiere sie in der Konfigurationsdatei deiner Shell, beispielsweise ~/.bashrc oder ~/.bash_profile (bei Bash). So wird die Variable bei jedem Start einer neuen Sitzung automatisch geladen.

Die Konfigurationsdatei bearbeiten

Variable hinzufügen

Speichere die Datei und schließe den Editor.

Änderungen anwenden

Dauerhafte Variable prüfen

Ausgabe:

Öffne ein neues Terminalfenster und überprüfe, ob die Variable weiterhin vorhanden ist:

Umgebungsvariablen ändern

Du kannst Umgebungsvariablen entweder temporär oder dauerhaft anpassen. Sei dabei vorsichtig: Manche systeminternen Variablen sind entscheidend für die Stabilität des Systems und sollten nur geändert werden, wenn du genau weißt, was du tust. Stelle außerdem sicher, dass du über die notwendigen Rechte verfügst und die Auswirkungen deiner Änderungen verstehst.

Variable temporär aktualisieren

So änderst du den Wert der GREETING-Variable innerhalb der aktuellen Sitzung:

Überprüfe den neuen Wert:

Ausgabe:

Variable dauerhaft anpassen

Um die Änderung permanent zu speichern, öffne erneut die Konfigurationsdatei deiner Shell:

Ändere die Definition der Variablen folgendermaßen:

Lade die Datei neu, um die Änderungen zu übernehmen:

Umgebungsvariablen löschen

Um eine Umgebungsvariable zu entfernen, verwende den Befehl unset. Wenn die Variable in deiner Shell-Konfigurationsdatei definiert ist, musst du den Eintrag dort ebenfalls löschen, um zu verhindern, dass sie bei zukünftigen Sitzungen erneut geladen wird.

Variable in der aktuellen Sitzung löschen

Löschung überprüfen

Wenn keine Ausgabe erscheint, wurde die Variable erfolgreich gelöscht.

Beachte, dass unset Variablen nur in der aktuellen Sitzung entfernt. Ist die Variable in einer Konfigurationsdatei (z. B. ~/.bashrc) hinterlegt, wird sie bei einem Neustart der Shell erneut geladen, sofern der Eintrag nicht entfernt wurde.

Globale Umgebungsvariablen erstellen

Standardmäßig gelten Umgebungsvariablen nur für den Benutzer, der sie erstellt hat. Möchtest du Variablen systemweit – also für alle Benutzer und Prozesse – verfügbar machen, füge sie in die Datei /etc/environment ein. Diese Datei wird beim Anmelden eingelesen und verwendet ein einfaches Schlüssel-Wert-Format ohne Shell-spezifische Syntax.

Globale Umgebungsdatei bearbeiten

$ sudo nano /etc/environment

Nur Benutzer mit Administratorrechten dürfen /etc/environment bearbeiten, da Änderungen alle Benutzer betreffen. Speichere keine Passwörter oder sensiblen Daten in dieser Datei, da sie für alle lesbar ist.

Globale Variable hinzufügen

Füge kein export hinzu – die Datei wird vom Modul pam_env verarbeitet, das keine Shell-Befehle oder Schlüsselwörter wie export unterstützt.

Speichere und schließe die Datei, melde dich anschließend ab und wieder an. Die Datei /etc/environment wird nur beim Anmeldevorgang (über SSH, Terminal oder grafische Oberfläche) eingelesen.

Globale Variable prüfen

Ausgabe:

Globale Variable mit neuem Benutzer testen

Erstelle ein neues Benutzerkonto:

Wechsle zum neuen Benutzer:

Gib das Passwort ein und überprüfe anschließend, ob die globale Variable verfügbar ist:

Ausgabe:

Um die Variable zu entfernen, lösche den entsprechenden Eintrag aus /etc/environment und melde dich erneut ab und an, damit die Änderung übernommen wird.

Umgebungsvariablen in Bash-Skripten verwenden

Du kannst sowohl benutzerdefinierte als auch globale Umgebungsvariablen innerhalb von Bash-Skripten nutzen. Das folgende Beispiel zeigt, wie du die Variable GLOBAL_GREETING in einem einfachen Skript einbindest.

Skript erstellen

Skriptinhalt hinzufügen

#!/bin/bash
echo "${GLOBAL_GREETING}! Welcome to centron!"

Setze geschweifte Klammern {} um den Variablennamen, wenn du Sonderzeichen oder Text anhängst. Dadurch wird die Variable klar abgegrenzt – im Beispiel folgt das Ausrufezeichen direkt nach dem Namen ohne Verwechslungsgefahr.

Skript ausführbar machen

Skript ausführen

Ausgabe:

Hello! Welcome to centron!

Du kannst auch Variablenverschachtelungen innerhalb von Zuweisungen nutzen, zum Beispiel:

Bei der Ausführung wird $USER aufgelöst. Solche Erweiterungen funktionieren jedoch nur bei Variablen, die in einer Shell-Konfigurationsdatei wie .bashrc definiert sind – in /etc/environment werden sie nicht ausgewertet.

Fazit

In dieser Anleitung hast du gelernt, wie du Umgebungsvariablen in Linux effizient verwaltest. Du hast gesehen, wie man sie anzeigt, erstellt, ändert und löscht, sie dauerhaft speichert und globale Variablen für alle Benutzer einrichtet. Außerdem weißt du nun, wie man sie in Bash-Skripten nutzt. Mit diesem Wissen kannst du deine Systemkonfiguration besser steuern und Arbeitsabläufe optimieren.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: