Piszę skrypt, który należy wykonać source, ponieważ jego zadaniem jest modyfikacja środowiska. Podczas skryptu chcę go używać set -e, aby każdy błąd zatrzymał skrypt. Skrypt wygląda następująco:
#!/bin/bash
set -e
# do something
cd somewhere
source anotherScript
Problem polega na tym, że set -enaturalnie obowiązuje po zakończeniu skryptu. Jak mogę się upewnić, że zmieniona setopcja jest prawidłowo przywracana do wartości poprzedniej po zatrzymaniu skryptu (w jakikolwiek sposób - poprzez pomyślne ukończenie lub błąd)?