Я пишу сценарий, который должен быть выполнен с использованием source
, потому что его задача заключается в изменении среды. Во время сценария я хочу использовать set -e
чтобы любая ошибка остановила сценарий. Сценарий выглядит так:
#!/bin/bash
set -e
# do something
cd somewhere
source anotherScript
Проблема в том, что set -e
естественным образом остается в силе после завершения скрипта. Как я могу гарантировать, что параметр измененного set
будет правильно восстановлен до его преобладающего значения при остановке скрипта (любым способом - либо при успешном завершении, либо при ошибке)?