Как бы вы вышли из функции, если условие истинно, не убивая весь скрипт, просто вернитесь к тому, что вы вызывали функцию.
пример
# Start script
Do scripty stuff here
Ok now lets call FUNCT
FUNCT
Here is A to come back to
function FUNCT {
if [ blah is false ]; then
exit the function and go up to A
else
keep running the function
fi
}
set -e
установили вверху вашего скрипта и вашеreturn 1
или любое другое число, кроме 0, весь ваш скрипт завершится.