| Pattern | Syntax | Beschreibung |
|---|---|---|
| ${var} | Inhalt einer Variablen anzeigen, gleich wie $var | |
| # | ${#var} | Länge ausgeben |
| : | ${var:offset} | Substring ab Position 'offset' (ohne linke 'offset' Zeichen) |
| : : | ${var:offset:length} | Substring ab pos 'offset', 'length' Zeichen |
| :- | ${var:-default} | 'default' verwenden, wenn leer, keine Änderung |
| := | ${var:=default} | 'default' setzen und verwenden, wenn leer |
| :+ | ${var:+alternative} | 'alternative' anzeigen, wenn nicht leer (wert gesetzt) z.B. ${var:+" -par $var"} |
| :? | ${var:?message} | Message anzeigen wenn leer und script beenden mit Exception |
| # | ${var#praefix} ${var#*pattern} | 'praefix' ab Anfang entfernen ab Anfang bis erstem 'pattern' entfernen (Präfix entfernen) |
| ## | ${var##*pattern} | ab Anfang bis letztem 'pattern' entfernen |
| % | ${var%suffix} ${var%pattern*} | 'suffix' am Ende entfernen ab letztem 'pattern' bis Ende entfernen (Suffix entfernen) |
| %% | ${var%%pattern*} | ab erstem 'pattern' bis Ende entfernen |
| / | ${var/pattern/replacement} | Erstes 'pattern' in Wert suchen und mit 'replacement' ersetzen |
| // | ${var//pattern/replacement} | Alle 'pattern' in Wert suchen und mit 'replacement' ersetzen |
| /# | ${var/#pattern/replacement} | 'pattern' am Anfang durch 'replacement' ersetzen |
| /% | ${var/%pattern/replacement} | 'pattern' am Ende durch 'replacement' ersetzen |
| ^ | ${var^} | erstes Zeichen gross |
| ^^ | ${var^^} | ganzen Text gross |
| , | ${var,} | erstes Zeichen klein |
| ,, | ${var,,} | ganzen Text klein |
| {} | {1..5} | Output 1 2 3 4 5 (Brace Expansion) |
| {} | {a..d} | Output: a b c d (Brace Expansion) |
| [] | arr=("a" "b" "c"); ${arr[index]} | Element mit Position 'index' verwenden (Array Expansion) |
| [@] | arr=("a" "b" "c"); ${arr[@]} | Alle Elemente verwenden (Array Expansion) |