Unset: Unterschied zwischen den Versionen

Aus Foxwiki
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 Textersetzung - „Bash/Builtins“ durch „Bash/Builtin“
 
(19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Linux:bash:echo, export, unset
'''unset''' - Kurzbeschreibung


*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<br>
== Beschreibung ==
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:
*Variablen,  die  auf  diese  Art Werte  erhalten,  werden  aber  nicht automatisch in Subshells exportiert, wie die folgende Befehlsfolge demonstriert:
  # x=5000
  # x=5000
Zeile 10: Zeile 11:
   
   
  #
  #
*Im  ersten  Schritt  wurde  der  Variablen  ''x''  der  Wert  ''5000'' zugewiesen<br>
*Anschließend wurde die Variable mit dem <code>echo</code>-Kommando ausgegeben<br>
*In der vierten Zeile wird mit dem Kommando <code>bash</code> eine Subshell gestartet<br>
*Der Versuch, die Variable mit dem <code>echo</code>-Befehl auszugeben, schlägt fehl, weil keine Vererbung der Variablen in die Subshell stattgefunden hat<br>


*Wenn  der  Inhalt  einer  Variablen  in  einer  Subshell  benötigt  wird,  muss  die  Variable exportiert werden. Beispiel:
Im  ersten  Schritt  wurde  der  Variablen  ''x''  der  Wert  ''5000'' zugewiesen
*Anschließend wurde die Variable mit dem <code>echo</code>-Kommando ausgegeben
*In der vierten Zeile wird mit dem Kommando <code>bash</code> eine Subshell gestartet
*Der Versuch, die Variable mit dem <code>echo</code>-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
 
== Anwendung ==
  # Name=Hans
  # Name=Hans
  # echo $Name
  # echo $Name
Zeile 23: Zeile 27:
  # echo $Name
  # echo $Name
  Hans
  Hans
*Diesmal  wurde  die  Variable  ''Name'' mit  dem  Kommando  <code>export</code> exportiert,  bevor  die Subshell gestartet wurde<br>
 
*Wie der zweite <code>echo</code>-Befehl zeigt, steht die Variable danach in der Subshell zur Verfügung<br>
Diesmal  wurde  die  Variable  ''Name'' mit  dem  Kommando  <code>export</code> exportiert,  bevor  die Subshell gestartet wurde
*Wie der zweite <code>echo</code>-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:
*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:
Zeile 31: Zeile 36:
  # echo $Name
  # echo $Name
  Willi
  Willi
*Wenn Sie den Inhalt einer Variablen nicht mehr benötigen, sollten Sie diese mit dem Kommando <code>unset</code> wieder  zurücksetzen.<br>
 
*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:
Wenn Sie den Inhalt einer Variablen nicht mehr benötigen, sollten Sie diese mit dem Kommando <code>unset</code> wieder  zurücksetzen.<br>
* 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
  # unset Name


[[Kategorie:Bash/Scripting]]
[[Kategorie:Bash/Builtin]]
[[Kategorie:Bash/Variablen]]


[[Category:Linux:Bash]]
{{SORTIERUNG:unset}}
[[Category:Linux:LPIC:101]]
{{DISPLAYTITLE:unset}}

Aktuelle Version vom 21. September 2024, 22:44 Uhr

unset - Kurzbeschreibung

Beschreibung

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

Anwendung

# 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