En Bash, comment tester si une variable est définie en “-u” mode

Je viens de découvrir set -u en bash et il m'a aidé à trouver plusieurs inédits de bugs. Mais j'ai aussi un scénario où j'ai besoin de tester si une variable est définie avant le calcul de certaines valeur par défaut. Le meilleur que j'ai trouvé pour cela est la suivante:

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

qui fonctionne (tant que la variable n'a pas la valeur de la chaîne undefined). Je me demandais si il y avait une meilleure façon?

InformationsquelleAutor Ramon | 2012-07-06