У меня есть ловушка ошибки следующим образом:
trap failed ERR
function failed {
local r=$?
set +o errtrace
set +o xtrace
echo "###############################################"
echo "ERROR: Failed to execute"
echo "###############################################"
# invokes cleanup
cleanup
exit $r
}
Есть часть моего кода, где я ожидаю ошибку:
command1
command2
command3
set +e #deactivates error capture
command4_which_expects_error
set -e #re-activates error capture
command5
В целом мне нужно игнорировать ловушку во время выполнения command4_which_expects_error
set + e, похоже, не отключает ловушку. Любые другие способы "развязать", а затем "перехватить"?