Export: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „Linux:bash:echo, export, unset *Wenn Sie selbst eine Variable deklarieren müssen, können Sie das einfach durch Eingabe der Variablen, gefolgt von dem zu…“ |
K Dirkwagner verschob die Seite Linux:bash:export nach Linux:Shell:bash:export, ohne dabei eine Weiterleitung anzulegen |
(kein Unterschied)
|
Version vom 18. Oktober 2020, 17:01 Uhr
Linux:bash:echo, export, unset
- Wenn Sie selbst eine Variable deklarieren müssen, können Sie das einfach durch Eingabe der Variablen, gefolgt von dem zuzuweisenden Wert an der Eingabeaufforderung, erledigen
- Variablen, die auf diese Art Werte erhalten, werden aber nicht automatisch in Subshells exportiert, wie die folgende Befehlsfolge demonstriert:
# x=5000 # echo $x 5000 # bash # echo $x #
- Im ersten Schritt wurde der Variablen x der Wert 5000 zugewiesen
- Anschließend wurde die Variable mit dem
echo
-Kommando ausgegeben - In der vierten Zeile wird mit dem Kommando
bash
eine Subshell gestartet - Der Versuch, die Variable mit dem
echo
-Befehl auszugeben, schlägt fehl, weil keine Vererbung der Variablen in die Subshell stattgefunden hat
- Wenn der Inhalt einer Variablen in einer Subshell benötigt wird, muss die Variable exportiert werden. Beispiel:
# Name=Hans # echo $Name Hans # export Name # bash # echo $Name Hans
- Diesmal wurde die Variable Name mit dem Kommando
export
exportiert, bevor die Subshell gestartet wurde - Wie der zweite
echo
-Befehl zeigt, steht die Variable danach in der Subshell zur Verfügung
- Es ist aber auch möglich, die Deklaration und den Export einer Variablen in einem einzigen Schritt durchzuführen. Das wird in der ersten Zeile des folgenden Beispiels demonstriert:
# export Name=Willi # bash # echo $Name Willi
- Wenn Sie den Inhalt einer Variablen nicht mehr benötigen, sollten Sie diese mit dem Kommando
unset
wieder zurücksetzen. - Es ist sinnvoll, zu Beginn eines Skripts zunächst alle verwendeten Variablen zurückzusetzen. Damit verhindern Sie, dass eventuell exportierte Variablen mit gleichen Bezeichnungen den Funktionsablauf Ihres Skripts stören. Beispiel:
# unset Name