Variablen-Substitutionen
Version vom 17. Oktober 2025, 14:38 Uhr von Thomas.will (Diskussion | Beiträge)
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.