Estoy aprendiendo cómo usar de manera eficiente diferentes setopciones en mi script y descubrí set -uque parece ser perfecto para salir de mi script si una variable no se configura correctamente (por ejemplo, eliminar usuarios). De acuerdo con la página del manual , set -uy set -ehace lo siguiente ...
-e Exit immediately if a command exits with a non-zero status.
-u Treat unset variables as an error when substituting.
Creé un script de prueba para probar esta funcionalidad, pero no parece funcionar como se esperaba. ¿Quizás alguien podría explicarme mejor mi problema y dónde estoy interpretando mal? El script de prueba está abajo. Gracias.
set -e
set -u
testing="This works"
echo $?
echo ${testing}
testing2=
echo $?
echo ${testing2}
testing3="This should not appear"
echo $?
echo ${testing3}
Espero que el script muestre 0 y "Esto funciona" , y luego falla ya ${testing2}que no está configurado.
En su lugar, se muestra 0 y "Esto funciona" , siga 0 y luego 0 Esto no debería aparecer
¿Alguien puede proporcionar algún conocimiento? Gracias.