Parameterexpansion ist ein Mechanismus in der Bash, mit dem der Wert einer Variablen verarbeitet und modifiziert werden kann, bevor er verwendet wird. Dies ermöglicht unter anderem das Extrahieren von Teilen von Strings, das Ersetzen von Substrings und das Setzen von Standardwerten.
Parameterexpansion in Bash ermöglicht, den Wert einer Variablen zu manipulieren oder einen Teil davon mit einer speziellen Syntax zu extrahieren. Die grundlegende Form der Parameterexpansion ist
\$ {parameter}
wobei der Wert von parameter ersetzt wird. Die Klammern sind erforderlich, wenn parameter ein Positionsparameter mit mehr als einer Ziffer ist oder wenn parameter von einem Zeichen gefolgt wird, das nicht als Teil seines Namens interpretiert werden soll.
Hier sind einige Beispiele, um zu zeigen, wie Parameterexpansion auf der Kommandozeile funktioniert:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# Zugriff auf den Wert einer Variablen $ name="Thomas" $ echo "Hallo ${name}" Hallo Thomas # Standardwerte setzen $ echo ${name:-"Defaultname"} Thomas $ unset name $ echo ${name:-"Defaultname"} Defaultname # Entfernen eines Suffixes $ filename="dateiname.txt" $ basename="${filename%.*}" $ echo "$basename" dateiname # Ersetzen des ersten Vorkommens eines Substrings $ text="Heute ist ein schöner Tag Thomas" $ neuertext="${text/schöner/sehr schöner}" $ echo "$neuertext" Heute ist ein sehr schöner Tag Thomas |