I have a whole bunch of tests on variables in a bash (3.00) shell script where if the variable is not set, then it assigns a default, e.g.:
if [ -z "${VARIABLE}" ]; then
FOO='default'
else
FOO=${VARIABLE}
fi
I seem to recall there's some syntax to doing this in one line, something resembling a ternary operator, e.g.:
FOO=${ ${VARIABLE} : 'default' }
(though I know that won't work…)
Am I crazy, or does something like that exist?
Best Answer
Very close to what you posted, actually. You can use something called Bash parameter expansion to accomplish this.
To get the assigned value, or
default
if it's missing:Or to assign
default
toVARIABLE
at the same time: