Einige der in diesem Beitrag geteilten Links sind Affiliate-Links. Wenn du auf den Link klickst und etwas kaufst, erhalten wir eine Affiliate-Provision ohne zusätzliche Kosten für dich.
Der Linux-Befehl export
ist ein unverzichtbares Werkzeug, das häufig in Shell-Skripten und in der Linux-Kommandozeile verwendet wird. Er dient dazu, Umgebungsvariablen zu setzen und sie in der aktuellen Shell-Sitzung für untergeordnete Prozesse (Sub-Shells) zugänglich zu machen. Das Verständnis und der korrekte Einsatz dieses Befehls ist essenziell für die Verwaltung von Umgebungsvariablen in einem Linux-System.
Grundkonzept von export
#
In einer Unix-ähnlichen Umgebung wie Linux ist eine Umgebungsvariable eine benannte Zuweisung von Informationen, die in der Shell gespeichert sind und auf die Programme zugreifen können. Diese Variablen enthalten oft Informationen wie den aktuellen Pfad ($PATH
), Benutzernamen ($USER
), oder die Shell-Typen.
Durch die Verwendung von export
kann eine Umgebungsvariable für untergeordnete Prozesse, die von der aktuellen Shell ausgeführt werden, verfügbar gemacht werden.
Syntax des export
-Befehls #
export [Optionen] [Variablenname]=[Wert]
- [Optionen]: Zusätzliche Optionen, die den Funktionsumfang von
export
erweitern. - [Variablenname]=[Wert]: Die Umgebungsvariable und ihr zugewiesener Wert.
Installation und Vorhandensein von export
#
Der Befehl export
ist nicht Teil eines eigenständigen Pakets, sondern eine eingebaute Funktion (sogenanntes “builtin”) der Shell, insbesondere der Bash-Shell (Bourne Again Shell). Diese ist in den meisten Linux-Distributionen standardmäßig installiert.
- Standardmäßig vorinstalliert in:
- Debian-basierte Systeme (z.B. Ubuntu, Linux Mint)
- Red Hat-basierte Systeme (z.B. CentOS, Fedora, RHEL)
- Arch-basierte Systeme (z.B. Manjaro, Arch Linux)
- SUSE-basierte Systeme (z.B. openSUSE, SUSE Linux Enterprise)
In der Regel ist keine zusätzliche Installation notwendig, da Bash auf nahezu allen Linux-Distributionen standardmäßig enthalten ist. Sollte jedoch eine andere Shell verwendet werden (z.B. zsh oder ksh), ist die Syntax ähnlich, da auch diese Shells export
unterstützen.
Verwendung von export
– Beispiele #
1. Setzen und Exportieren einer Umgebungsvariablen #
export VAR_NAME="Hallo Welt"
Mit diesem Befehl wird eine Umgebungsvariable VAR_NAME
mit dem Wert Hallo Welt
erstellt und exportiert. Diese Variable ist nun für untergeordnete Prozesse zugänglich.
Überprüfung:
echo $VAR_NAME
Ausgabe:
Hallo Welt
2. Eine Variable exportieren, die bereits gesetzt wurde #
Wenn eine Variable bereits gesetzt wurde, kann sie nachträglich mit export
exportiert werden:
VAR_NAME="Hallo Welt"
export VAR_NAME
Jetzt ist die Variable VAR_NAME
in der aktuellen Sitzung und in allen Sub-Shells verfügbar.
3. Alle exportierten Variablen anzeigen #
export -p
Dieser Befehl listet alle aktuell exportierten Variablen in der Shell auf. Dies ist besonders nützlich, um einen Überblick über den aktuellen Umgebungszustand zu erhalten.
4. Entfernen des Exportstatus einer Variable #
export -n VAR_NAME
Mit dieser Option wird der Exportstatus der Umgebungsvariable VAR_NAME
entfernt. Die Variable bleibt in der aktuellen Shell verfügbar, wird aber nicht mehr an untergeordnete Prozesse weitergegeben.
5. export mehrerer Variablen gleichzeitig #
export VAR1="Wert1" VAR2="Wert2" VAR3="Wert3"
Hiermit können mehrere Variablen in einem einzigen Befehl exportiert werden.
6. Ein Beispiel in einem Shell-Skript #
Ein Shell-Skript, das eine Umgebungsvariable setzt und an ein untergeordnetes Skript weitergibt:
#!/bin/bash
export WELCOME_MESSAGE="Willkommen im Skript"
./sub_script.sh
sub_script.sh
könnte folgendes enthalten:
#!/bin/bash
echo $WELCOME_MESSAGE
Wenn das Hauptskript ausgeführt wird, wird die Umgebungsvariable WELCOME_MESSAGE
in das sub_script.sh
exportiert, welches diese Variable dann nutzen kann.
Optionen des export
-Befehls #
Die folgenden Optionen werden von export
unterstützt:
Option | Beschreibung |
---|---|
-p | Gibt eine Liste aller exportierten Umgebungsvariablen aus. |
-n | Hebt den Exportstatus einer oder mehrerer Variablen auf, ohne die Variablen zu löschen. Diese bleiben in der aktuellen Shell vorhanden. |
-f | Exportiert Funktionen. In Bash können Funktionen wie Variablen exportiert werden, sodass sie in Sub-Shells verfügbar sind. |
Besonderheiten von export
#
- Lokalität von Variablen: Variablen, die ohne
export
gesetzt wurden, sind nur in der aktuellen Shell sichtbar. Sobald ein untergeordneter Prozess gestartet wird, kennt dieser die nicht exportierten Variablen nicht. Beispiel:
VAR="Nicht exportiert"
./child_script.sh # child_script.sh hat keinen Zugriff auf VAR
- Lebensdauer der Variablen: Exportierte Variablen gelten nur für die Dauer der aktuellen Shell-Sitzung. Wenn die Shell beendet wird, gehen auch die gesetzten Variablen verloren.
- Umgebungsvariablen in Skripten: Es ist üblich, Umgebungsvariablen in Skripten zu setzen und zu exportieren, um Werte für untergeordnete Prozesse bereitzustellen. Dies ist besonders wichtig bei der Konfiguration von Datenbankverbindungen, Pfaden zu Anwendungsdateien oder anderen Einstellungen, die für mehrere Programme gelten sollen.
Der Linux-Befehl export
ist ein fundamentales Werkzeug zum Setzen und Verwalten von Umgebungsvariablen in der Bash-Shell. Durch das Exportieren von Variablen können Sie sicherstellen, dass diese in untergeordneten Prozessen verfügbar sind, was besonders nützlich in Shell-Skripten oder beim Starten von Anwendungen ist. Da der Befehl eine eingebaute Funktion der Shell ist, ist er auf allen Linux-Distributionen verfügbar, die Bash oder eine kompatible Shell verwenden.