Einführung
Shell-Variablen sind Schlüssel-Wert-Paare, die zum Speichern wichtiger Konfigurationsdaten für die Shell verwendet werden. Da eine Variable nur ein Zeiger auf ein Datenelement ist, kann sie einen Verweis auf einen beliebigen Datentyp enthalten – einen Namen, eine Zahl, einen Dateinamen oder sogar eine andere Variable.
Alle Variablen, die der Benutzer in der Bash-Shell definiert, sind standardmäßig lokal. Das bedeutet, dass die untergeordneten Prozesse der Shell die Variablen der Shell nicht erben. Der Benutzer muss die Variablen exportieren, um sie untergeordneten Prozessen zur Verfügung zu stellen.
Dieses Tutorial zeigt Ihnen, wie Sie Bash-Variablen in Linux mit export
exportieren Befehl.

Voraussetzungen
- Zugriff auf das Terminal/die Befehlszeile.
- Die Bash-Shell.
Was macht der Exportbefehl in Bash?
Variablen in Bash werden mit dem Erklärbefehl oder durch einfaches Eingeben des Schlüssel-Wert-Paares in der Shell erstellt. Zum Beispiel, um eine Variable mit dem Namen test
zu erstellen , der einen Zeichenfolgenwert von example
hat , geben Sie Folgendes ein:
test="example"
Um den Wert einer Variablen anzuzeigen, verwenden Sie den echo-Befehl:
echo $test
Der Wert erscheint in der Ausgabe:

Die so erstellte Variable gilt jedoch nur für die aktuelle Shell-Session. Um dies zu testen, öffnen Sie eine untergeordnete Shell, indem Sie Folgendes eingeben:
bash
Verwenden Sie echo
um die Variable zu überprüfen.
echo $test
Die Ausgabe ist leer, weil die Variable test
hat nur in der übergeordneten Shell einen Wert. Eine Variable muss exportiert werden, um in untergeordneten Prozessen verwendet zu werden.

Das Exportieren von Variablen ist auch für das Bash-Scripting wichtig. Das folgende Beispiel erstellt ein Skript mit dem Namen test-script.sh
die den Wert des test
anzeigt Variable.
1. Erstellen Sie die Datei mit einem Texteditor wie nano:
nano test-script.sh
2. Geben Sie Folgendes in die Datei ein:
#!/bin/bash
echo $test
3. Speichern Sie die Datei und beenden Sie sie.
4. Ändern Sie die Berechtigungen der Datei, damit sie ausgeführt werden kann:
chmod u+x test-script.sh
5. Führen Sie das Skript aus:
./test-script.sh
Das Skript gibt eine leere Ausgabe zurück.

Die Ausgabe ist leer, da das Skript in einer untergeordneten Shell ausgeführt wird, die beim Ausführen des Skripts automatisch geöffnet wird.
So exportieren Sie Bash-Variablen
Die Syntax für den export
Befehl ist einfach:
export [variable-name]
Das folgende Beispiel bestätigt, dass der test
Variable existiert auch nach der Verwendung von bash
um eine neue Shell-Session zu starten.

Die Skripte haben nun auch Zugriff auf die Variable. Führen Sie das zuvor erstellte Skript erneut aus.
./test-script.sh
Der Wert von test
wird jetzt korrekt ausgegeben .

Exportfunktionen
Verwenden Sie den export
Befehl zum Exportieren von Bash-Funktionen.
1. Erstellen Sie beispielsweise eine Bash-Funktion namens echoVar
:
function echoVar
2. Die Funktion ruft echo
auf um den Wert des test
anzuzeigen Variable:
{
echo "The value of the test variable is: "$test
}

3. Die Funktion kann nun mit ihrem Namen aufgerufen werden, um den Wert der Variablen anzuzeigen. Geben Sie Folgendes ein, um die Funktion in untergeordneten Prozessen verfügbar zu machen:
export -f echoVar
Die Funktion ist jetzt in untergeordneten Shells verfügbar.

Alle exportierten Variablen anzeigen
Wenn der export
Wenn der Befehl ohne Argumente ausgegeben wird, zeigt er die Liste aller Variablen an. Um alle aufgelisteten Variablen in untergeordnete Prozesse zu exportieren, verwenden Sie -p
Option.
export -p

Die beiden in diesem Artikel erstellten Variablen befinden sich am Ende der Ausgabe.

Um den Effekt von export -p
rückgängig zu machen verwenden Sie das -n
Option.
export -n
Die Variablen sind wieder auf die aktuelle Shell-Session beschränkt.