Доброго времени суток.
Имею пользовательскую функцию на bash вида:
superMegaFunction()
{
.................
echo "FATAL ERROR: some_text_error"
return 127
.................
return 0
}
Далее по коду, необходимо получить код возврата функции выше, т.е. 0 или 127, при этом подавив любой вывод, как echo. Пробую сделать вот так:
checkMega()
{
superMegaFunction &> /dev/null
echo "Status: $?"
}
Выполнение скрипта до echo даже не доходит, т.е. при установленном флаге
bash -x
я не вижу вывод "
Status: %сode%". Пробовал вариант без
superMegaFunction > /dev/null
- результат тот же самый
Подскажите пожалуйста, что я делаю не так? При
return
bash ведь должен в любом случае возвращать код, не прерывая выполнение общего скрипта или я чего-то не учитываю?