Unset: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Category:Linux:Bash“ durch „Kategorie:Linux:Shell:Bash
KKeine Bearbeitungszusammenfassung
Zeile 35: Zeile 35:
  # unset Name
  # unset Name


[[Kategorie:Linux:Shell:Bash]]
[[Kategorie:Linux:Shell:Bash:Scripting]]
[[Category:Linux:Shell:Bash:Builtin]]

Version vom 3. Februar 2022, 14:37 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