Как в Bash проверить, определена ли переменная в режиме «-u»

Я только что обнаружил set -uв bash, и это помогло мне найти несколько ранее неизвестных ошибок. Но у меня также есть сценарий, в котором мне нужно проверить, определена ли переменная перед вычислением некоторого значения по умолчанию. Лучшее, что я придумал для этого, это:

if [ "${variable-undefined}" == undefined ]; then
    variable="$(...)"
fi

который работает (, пока переменная не имеет строкового значенияundefined). Мне было интересно, есть ли лучший способ?

51
задан Ramon 6 June 2013 в 09:13
поделиться