Umgebungsvariablen in Linux verwalten

Umgebungsvariablen ermöglichen es, das Verhalten von Software zu steuern, ohne den Quellcode zu ändern. Die meisten Linux-Distributionen bringen bereits vordefinierte Umgebungsvariablen mit. Sie können zusätzlich eigene Variablen erstellen, um Konfigurationsdaten zu speichern, das Verhalten von Anwendungen zu steuern und Werte zwischen Prozessen und Shell-Skripten auszutauschen.

In dieser Anleitung erfahren Sie, wie Sie Umgebungsvariablen in Linux anzeigen, erstellen, ändern und löschen. Außerdem lernen Sie, wie Variablen über Sitzungen hinweg bestehen bleiben, wie man globale Variablen für alle Benutzer setzt und wie sich diese in Shell-Skripten nutzen lassen.

Vorhandene Umgebungsvariablen anzeigen

Linux stellt vordefinierte Umgebungsvariablen wie HOME, USER, PWD und PATH bereit. Gehen Sie wie folgt vor, um diese Variablen in einer Terminal-Sitzung anzuzeigen.

Alle aktuellen Umgebungsvariablen auflisten:

Beispielausgabe:

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

Alternativ kann der Befehl printenv verwendet werden, um alle Umgebungsvariablen anzuzeigen.

Aktuellen Linux-Benutzernamen ausgeben:

Eine bestimmte Variable im Schlüssel-Wert-Format mit grep anzeigen:

Oder alternativ:

Temporäre Umgebungsvariablen erstellen

Um eine temporäre Umgebungsvariable in Linux zu definieren, schreiben Sie den Variablennamen (Schlüssel) in Großbuchstaben und weisen ihm einen Zeichenkettenwert zu. Temporäre Variablen gelten nur für die aktuelle Terminal-Sitzung und werden nach dem Schließen der Shell automatisch entfernt.

Neue Umgebungsvariable GREETING erstellen:

Wert in Anführungszeichen setzen, wenn er Leerzeichen enthält:

Variable exportieren, damit auch Kindprozesse darauf zugreifen können:

Prüfen, ob die Variable gesetzt ist:

Ausgabe:

Temporäre Variablen gelten nur während der aktuellen Shell-Sitzung. Nach dem Schließen des Terminals werden sie automatisch entfernt.

Umgebungsvariablen dauerhaft speichern

Um Variablen über Terminal-Sitzungen hinweg zu behalten, definieren Sie diese in der Konfigurationsdatei Ihrer Shell, zum Beispiel ~/.bashrc oder ~/.bash_profile bei Nutzung der Bash-Shell. So wird die Variable bei jedem Start einer neuen Sitzung automatisch geladen.

~/.bashrc im Editor öffnen:

Folgende Zeile am Ende der Datei hinzufügen:

Datei speichern und schließen.

Shell-Konfiguration neu laden, um die Änderungen zu übernehmen:

Überprüfen, ob die Umgebungsvariable verfügbar ist:

Ausgabe:

Öffnen Sie ein neues Terminalfenster und prüfen Sie, ob die Variable weiterhin vorhanden ist:

Umgebungsvariablen ändern

Umgebungsvariablen können sowohl temporär als auch dauerhaft geändert werden. Einige Variablen sind jedoch für den Systembetrieb kritisch und sollten nur mit Vorsicht angepasst werden. Stellen Sie sicher, dass Sie die nötigen Berechtigungen besitzen und die Auswirkungen verstehen. So ändern Sie die Variable GREETING:

Wert der GREETING-Variable in der aktuellen Sitzung aktualisieren:

Neuen Wert prüfen:

Ausgabe:

Shell-Konfigurationsdatei öffnen, um die Änderung dauerhaft zu speichern:

Wert der GREETING-Definition anpassen:

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

Umgebungsvariablen entfernen

Um eine Umgebungsvariable zu löschen, verwenden Sie den Befehl unset. Falls die Variable in der Shell-Konfigurationsdatei definiert ist, entfernen Sie auch dort den Eintrag, damit sie nicht erneut geladen wird.

GREETING-Variable entfernen:

Überprüfen, ob die Variable entfernt wurde:

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

unset entfernt Variablen nur aus der aktuellen Sitzung. Ist die Variable beispielsweise in ~/.bashrc definiert, erscheint sie in neuen Sitzungen erneut, solange der Eintrag nicht ebenfalls dort gelöscht wird.

Globale Umgebungsvariablen erstellen

Standardmäßig gelten Umgebungsvariablen nur für den Benutzer, der sie erstellt hat. Möchten Sie Variablen systemweit für alle Benutzer und Umgebungen verfügbar machen, fügen Sie diese in die Datei /etc/environment ein. Diese Datei wird beim Login ausgewertet und eignet sich für globale Werte ohne shell-spezifische Syntax. Gehen Sie wie folgt vor, um eine globale Variable zu erstellen und zu überprüfen:

/etc/environment mit Nano öffnen:

$ sudo nano /etc/environment

Nur Benutzer mit Root-Rechten können /etc/environment bearbeiten, da Änderungen alle Benutzer betreffen. Speichern Sie dort keine Passwörter oder vertraulichen Daten, da diese von allen Benutzern gelesen werden können.

Variable ohne export-Schlüsselwort hinzufügen:

Verwenden Sie kein export. Das pam_env-Modul, das diese Datei auswertet, unterstützt keine Shell-Syntax oder Befehle wie export.

Datei speichern und schließen.

Melden Sie sich ab und wieder an, um die Umgebung neu zu laden. Das System liest /etc/environment nur während des Login-Vorgangs (über SSH, Terminal oder GUI) ein.

Mit dem Befehl env prüfen, ob die Variable verfügbar ist:

Ausgabe:

Neuen Benutzer anlegen:

Zum neuen Benutzer wechseln:

Passwort eingeben, wenn Sie dazu aufgefordert werden.

Prüfen, ob die globale Umgebungsvariable für den neuen Benutzer verfügbar ist:

Ausgabe:

Um die Variable zu entfernen, löschen Sie den Eintrag aus /etc/environment und melden Sie sich erneut ab und an.

Umgebungsvariablen in einem Bash-Skript verwenden

Umgebungsvariablen – ob benutzerdefiniert oder global – lassen sich auch in Bash-Skripten dynamisch einbinden. So nutzen Sie die globale Variable GLOBAL_GREETING in einem einfachen Skript:

Neue Skriptdatei greeting.sh erstellen:

Folgendes Skript einfügen, um die Umgebungsvariable zu referenzieren:

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

Verwenden Sie geschweifte Klammern ({}), um den Variablennamen klar abzugrenzen, wenn direkt danach Sonderzeichen oder Text folgen. So wird das Ausrufezeichen eindeutig dem Text zugeordnet.

Datei speichern und schließen.

Skript ausführbar machen:

Skript ausführen:

Ausgabe:

Variablen können auch innerhalb anderer Variablenzuweisungen verschachtelt werden. Beispiel: GREETING=“Hi! $USER“ erweitert $USER beim Ausführen. Diese Art der Expansion funktioniert jedoch nur, wenn die Variable in einer Shell-Konfigurationsdatei wie .bashrc definiert ist, nicht in /etc/environment.

Fazit

In diesem Artikel haben Sie gelernt, wie man Umgebungsvariablen in Linux verwaltet. Sie haben gesehen, wie man Variablen anzeigt, erstellt, ändert und entfernt, wie man sie über Terminal-Sitzungen hinweg beibehält und wie man globale Variablen für alle Benutzer definiert. Außerdem wissen Sie nun, wie sich diese Variablen in Bash-Skripten verwenden lassen, um Arbeitsabläufe zu optimieren und die Steuerung von Anwendungen zu verbessern.

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:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Passbolt auf Linux installieren & sicher konfigurieren

Security, Tutorial
Passbolt auf Linux-Distributionen installieren und einrichten Passbolt ist ein Open-Source-Passwortmanager, der die sichere Speicherung und Verwaltung von Passwörtern sowie sensiblen Daten mit Ende-zu-Ende-Verschlüsselung ermöglicht. Er funktioniert hauptsächlich als Browser-Erweiterung für…