Estoy escribiendo un script que debe ejecutarse usando source
, porque su tarea es modificar el entorno. Durante el script, quiero usarlo set -e
para que cualquier error detenga el script. El guión se ve así:
#!/bin/bash
set -e
# do something
cd somewhere
source anotherScript
El problema es que, set -e
naturalmente, permanece vigente una vez que finaliza el script. ¿Cómo puedo asegurarme de que la set
opción alterada se restaure correctamente a su valor anterior cuando el script se detiene (de alguna manera, ya sea completando con éxito o en caso de error)?
-x
/ xtrace
) en Suprimir rastreo de ejecución para comando echo?