我有一個錯誤陷阱如下之後而不捕獲:如何陷阱命令
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的執行過程中忽略該陷阱
的集+ E似乎並不禁用陷阱。任何其他的方式來「饒恕」然後「重新陷阱」?
'幫助trap'說,使用' '''忽略,'-'重置爲默認行爲。 –