Variablen-Substitutionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Variablen-Substitution

  • Unter Variablen-Substitution versteht man das Ersetzen eines Variablennamens durch seinen aktuellen Wert.
  • Dies geschieht zur Laufzeit durch die Shell, bevor der Befehl tatsächlich ausgeführt wird.
  • Variablen dienen der Speicherung und Wiederverwendung von Werten, z. B. Texten, Zahlen oder Pfaden.

Definition und Zuweisung

  • Variablen werden in Bash ohne Datentypen definiert.
  • Eine Zuweisung erfolgt durch ein Gleichheitszeichen ohne Leerzeichen.
Beispiele
  • GLAS=bier
  • ORDNER=/etc

Ausgabe von Variablen

  • Zur Ausgabe des Inhalts einer Variablen wird vor ihren Namen ein Dollarzeichen ($) gesetzt.
  • Die Shell ersetzt den Variablennamen durch dessen Wert.
Beispiele
  • echo $GLAS → bier
  • echo $ORDNER → /etc

Verwendung in Befehlen

  • Variablen können direkt in Befehlen eingesetzt werden.
  • Die Shell ersetzt dabei die Variable durch ihren Wert, bevor der Befehl ausgeführt wird.
Beispiel
  • UNIXSYSTEM=/usr
  • ls -ld $UNIXSYSTEM
drwxr-xr-x 11 root root 4096 /usr  

Substitution mit geschweiften Klammern

  • Zur eindeutigen Abgrenzung von Variablen in komplexen Ausdrücken werden geschweifte Klammern verwendet.
  • Dies ist vor allem dann nötig, wenn Zeichen direkt an den Variablennamen anschließen.
Beispiele
  • SUX=eins
  • TUX=zwei
  • SUXTUX=drei
  • echo $SUXTUX → drei
  • echo ${SUX}TUX → einsTUX
  • echo ${SUX}${TUX} → einszwei

Wichtige Hinweise

  • Zwischen Variablenname, Gleichheitszeichen und Wert dürfen keine Leerzeichen stehen.
  • Großbuchstaben werden oft für benutzerdefinierte Variablen verwendet.
  • Bash führt die Substitution vor der Ausführung eines Befehls durch.
  • Nicht gesetzte Variablen werden durch einen leeren String ersetzt.

Aufgaben

  • Definieren Sie eine Variable NAME mit einem beliebigen Wert und geben Sie diesen mit echo aus.
  • Definieren Sie eine Variable VERZ mit einem Pfad und lassen Sie mit ls -l $VERZ deren Inhalt anzeigen.
  • Erstellen Sie zwei Variablen und kombinieren Sie sie in einer dritten Variablen.
  • Testen Sie den Unterschied zwischen $VARI und ${VARI}TEXT.