Kann mir jemand diese Syntax in Bash erklären?
MY_BASE_DIR=${MY_BASE_DIR:-/data/software/xyz}
Was genau passiert, wenn der obige Befehl ausgeführt wird?
Kann mir jemand diese Syntax in Bash erklären?
MY_BASE_DIR=${MY_BASE_DIR:-/data/software/xyz}
Was genau passiert, wenn der obige Befehl ausgeführt wird?
Es ist ein Standardwert für MY_BASE_DIR
anzugeben. Von Mann bash:
$ {parameter: -Wort}
Standardwerte verwenden. Wenn der Parameter nicht gesetzt oder null ist, wird die Wortausdehnung ersetzt. Andernfalls wird der Wert des Parameters ersetzt.
Es ist äquivalent zu:
if [[ -z "$MY_BASE_DIR" ]]; then
MY_BASE_DIR="/data/software/xyz"
fi
Siehe Für die Suche weiter Google/Suche, der Begriff ist "Parametererweiterung". http://wiki.bash-hackers.org/syntax/pe – ffledgling
http://www.tldp.org/LDP/abs/html/parameter-substitution.html – andlrc