J'écris un script qui doit être exécuté en utilisant source
, car sa tâche est de modifier l'environnement. Pendant le script, je veux l'utiliser set -e
pour que toute erreur arrête le script. Le script ressemble à ceci:
#!/bin/bash
set -e
# do something
cd somewhere
source anotherScript
Le problème est que, set -e
naturellement, reste en vigueur après la fin du script. Comment puis-je m'assurer que l' set
option modifiée est correctement restaurée à sa valeur précédente lorsque le script s'arrête (de quelque manière que ce soit - en réussissant ou en cas d'erreur)?
-x
/ xtrace
) est résolu à Supprimer la trace d'exécution pour la commande echo?