J'apprends à utiliser efficacement différentes set
options dans mon script et je suis tombé sur ce set -u
qui semble être parfait pour quitter mon script si une variable n'est pas définie correctement (par exemple, supprimer des utilisateurs). Selon l' homme page set -u
et set -e
fait ce qui suit ...
-e Exit immediately if a command exits with a non-zero status.
-u Treat unset variables as an error when substituting.
J'ai créé un script de test pour tester cette fonctionnalité, mais il ne semble pas fonctionner comme prévu. Peut-être que quelqu'un pourrait mieux m'expliquer mon problème et où je fais une mauvaise interprétation? Le script de test est ci-dessous. Je vous remercie.
set -e
set -u
testing="This works"
echo $?
echo ${testing}
testing2=
echo $?
echo ${testing2}
testing3="This should not appear"
echo $?
echo ${testing3}
Je m'attends à ce que le script affiche 0 et "Cela fonctionne" , puis échoue car il ${testing2}
n'est pas défini.
Au lieu de cela, je suis affiché 0 et "Cela fonctionne" , suivi de 0 puis de 0 Cela ne devrait pas apparaître
Quelqu'un peut-il fournir des connaissances? Je vous remercie.