Il s'agit d'un système FreeBSD 7.x exécutant GNU bash version 4.0.
Dans Bash, l' set -u
option peut forcer un shell à afficher une erreur s'il rencontre une variable non définie, comme ceci:
$ set -u
$ echo $THISISUNSET
-su: THISISUNSET: unbound variable
$ echo $?
1
Cependant, je rencontre également cette même erreur pour $ *:
$ echo $*
-su: $*: unbound variable
$ echo $?
1
$ echo $@
-su: $@: unbound variable
Le manuel de Bash 4.3.1 Le Set Builtin dit spécifiquement qu'il set -u
ignore $ * et $ @:
-u Traite les variables et paramètres non définis autres que les paramètres spéciaux '@' ou '*' comme une erreur lors de l'expansion des paramètres. Un message d'erreur sera écrit dans l'erreur standard et un shell non interactif se fermera.
Comment puis-je réparer cela?