Sto scrivendo uno script che deve essere eseguito utilizzando source
, perché il suo compito è modificare l'ambiente. Durante lo script, voglio usare in set -e
modo che qualsiasi errore interrompa lo script. Lo script è simile al seguente:
#!/bin/bash
set -e
# do something
cd somewhere
source anotherScript
Il problema è che set -e
rimane naturalmente in vigore al termine dello script. Come posso garantire che l' set
opzione modificata venga ripristinata correttamente al suo valore precedente quando lo script si arresta (in qualsiasi modo, completandolo correttamente o in caso di errore)?
-x
/ xtrace
) è stato risolto in Sopprimi traccia esecuzione per comando echo?