Этот сценарий Bash ведет себя так, как ожидалось.Ловушка в экспортируемой функции молча игнорируется
test_this.sh
function run_this() {
trap "echo TRAPPED" EXIT
false
echo $?
}
run_this
Он печатает
1
TRAPPED
Однако, когда я пытаюсь экспортировать эту функцию, она не ловушкой.
test_this2.sh
function run_this() {
trap "echo TRAPPED" EXIT
false
echo $?
}
export -f run_this
Источник в командной строке и запустить его:
> source test_this2.sh
> run_this
Результаты в
1
Где ловушка идти?