- Registriert
- Jan. 2012
- Beiträge
- 1.824
Ich wusel aktuell mal wieder etwas mehr mit Bash herum und versuche, das ein oder andere Detail zu verstehen.
Folgender Schnipsel als Kern eines "trim()" bereitet mir final noch ein bisschen Kopfzerbrechen, wobei es nicht um die eigentliche Funktion geht (die ist klar), sondern um das Warum zum Quoting:
Lasse ich die "inneren" Anführungszeichen weg, funktioniert es bei meinen Tests genauso:
Ist das irgendein Workaround für ältere Bash Versionen, übersehe ich da was anderes Wesentliches oder hatte der Author des Schnipsels einfach nur Anführungszeichen über!?
Folgender Schnipsel als Kern eines "trim()" bereitet mir final noch ein bisschen Kopfzerbrechen, wobei es nicht um die eigentliche Funktion geht (die ist klar), sondern um das Warum zum Quoting:
Bash:
: "${1#"${1%%[![:space:]]*}"}"
: "${_%"${_##*[![:space:]]}"}"
printf '%s' "$_"
Lasse ich die "inneren" Anführungszeichen weg, funktioniert es bei meinen Tests genauso:
Bash:
: "${1#${1%%[![:space:]]*}}"
: "${_%${_##*[![:space:]]}}"
printf '%s' "$_"
Ist das irgendein Workaround für ältere Bash Versionen, übersehe ich da was anderes Wesentliches oder hatte der Author des Schnipsels einfach nur Anführungszeichen über!?