Estoy aprendiendo cómo usar de manera eficiente diferentes set
opciones en mi script y descubrí set -u
que 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 -u
y set -e
hace 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.