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