Я пишу сценарий оболочки. Этот сценарий оболочки выполняется в оболочке bash внутри терминала. Он содержит центральную функцию обработчика ошибок. См. Следующий базовый демонстрационный фрагмент:
function error_exit
{
echo "Error: ${1:-"Unknown Error"}" 1>&2
exit 1 # This unfortunately also exits the terminal
}
# lots of lines possibly calling error_exit
cd somewhere || error_exit "cd failed"
rm * || error_exit "rm failed"
# even more lines possibly calling error_exit
Функция обработчика ошибок должна завершить сценарий, но НЕ должна заканчиваться. Как я могу это достичь?