Внутри bash, как может обработчик RETURN
получить текущий код возврата?код возврата возврата функции из ловушки RETURN-обработчик
Например
#!/usr/bin/env bash
function A() {
function A_ret() {
# How to access the return code here?
echo "${FUNCNAME} ???"
}
trap A_ret RETURN
echo -n "${FUNCNAME} returning code $1 ... "
return $1
}
A 1
Печатается
A returning code 1 ... A_ret ???
Я хотел бы, чтобы напечатать
A returning code 1 ... A_ret 1
Как можно A_ret
доступа A
код возврата?
Подобно this stackoverflow question Get the exitcode of the shell script in a “trap EXIT”.
Оценить '' $ после того, как вы называете функции в вашем скрипте?. –
@ DavidC.Rankin. За титул функция ловушки 'RETURN',' A_ret', должна получить код возврата 'A'. – JamesThomasMoon1979
Да, я наткнулся на это. Тройн выпрямил меня. Как показано ниже, возврат из 'trap' всегда будет' 0', если не будет ошибки спецификации сигнала. Хороший вопрос. –