Я использовал оператор "exit 1" в моих bash функциях для завершения всего script, и он работал нормально:
function func()
{
echo "Goodbye"
exit 1
}
echo "Function call will abort"
func
echo "This will never be printed"
Но потом я понял, что он не выполняет работу при вызове типа:
res=$(func)
Я понимаю, что я создал подоболочку, а "exit 1" прерывает эту подоболочку, а не главную....
Но есть способ написать функцию, которая прерывает выполнение, независимо от того, как она вызывается? Мне просто нужно получить реальное возвращаемое значение (эхо его функция).