Mit der Einschätzung liegst du daneben. So setzt man Default-Werte, die nur dann gelten, wenn eine Variable noch nicht gesetzt ist....
weiter habe ich zwar nicht geschaut, aber es würde mich wundern, wenn nicht damit immer der vi aufgerufen würde. Das Script zu ändern, wirkt nur so lange, bis einmal ein Update kommt. ...Code:# Set EDITOR to /usr/bin/vi if it isn't already set : ${EDITOR:='/usr/bin/vi'}
Die Syntax ist im Grunde ein Hack, nicht besonders sinnvoll, aber es hat sich so durchgesetzt und weil es alles Shell-Builtins sind kostet es auch keine Performance. Deshalb wurde nie eine besser lesbare Syntax eingeführt.
Und im Vergleich zu geschachtelten Post- und Prefix-Substitutionen ist das von der Lesbarkeit her sowieso harmlos.