У меня есть скрипт, который идет как показано ниже ...
некоторые определения функций сверху, и одно из них ...
function err_out
{
trap 'echo "ERROR in $STEP function. EXITING!";exit 1' ERR
#some more messages
exit 1
}
# Main program starts here
trap 'err_out' ERR
#do something
#call some functions
#call cleanup function
#end of script
когда в функциях происходит какая-либо ошибка, они не передаются и функция err_out не вызывается.
Я пытался #!/bin/bash -E тоже; таким образом, когда возникает ошибка, скрипт завершается, но мне нужно, чтобы ошибка была правильно передана обработчику.