Sto imparando come utilizzare in modo efficiente diverse set
opzioni nel mio script e mi sono imbattuto in set -u
quello che sembra perfetto per uscire dal mio script se una variabile non viene impostata correttamente (es. Eliminazione degli utenti). Secondo la pagina man , set -u
e set -e
fa quanto segue ...
-e Exit immediately if a command exits with a non-zero status.
-u Treat unset variables as an error when substituting.
Ho creato uno script di test per testare questa funzionalità, ma non sembra funzionare come previsto. Forse qualcuno potrebbe spiegarmi meglio il mio problema e dove sto interpretando male? Lo script di prova è di seguito. Grazie.
set -e
set -u
testing="This works"
echo $?
echo ${testing}
testing2=
echo $?
echo ${testing2}
testing3="This should not appear"
echo $?
echo ${testing3}
Mi aspetto che lo script visualizzi 0 e "Funziona" , quindi non riesco perché ${testing2}
non è impostato.
Invece sono visualizzato 0 e "Funziona" , segui da 0 e quindi 0 Questo non dovrebbe apparire
Qualcuno può fornire qualche conoscenza? Grazie.