Код выхода ловушек в Баш

Этоmyscript.sh:

#!/bin/bash

function mytrap {
    echo "Trapped!"
}
trap mytrap EXIT

exit 3

И когда я запускаю это:

> ./myscript.sh
echo $?
3

Почему код выхода скрипта код выхода с ловушкой такой же, как и без него? Обычно функция неявно возвращает код завершения последней выполненной команды. В этом случае:

эхо возвращает 0Я бы ожидалmytrap вернуть 0посколькуmytrap последняя выполненная функция, скрипт должен вернуть 0

Почему это не так? Где мое мышление не так?

Ответы на вопрос(1)

Ваш ответ на вопрос