Código de salida de trampas en Bash

Esto esmyscript.sh:

#!/bin/bash

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

exit 3

Y cuando lo ejecuto:

> ./myscript.sh
echo $?
3

¿Por qué el código de salida del script, el código de salida con la trampa es el mismo que sin él? Por lo general, una función devuelve implícitamente el código de salida del último comando ejecutado. En este caso:

echo devuelve 0Yo esperaríamytrap para devolver 0Ya quemytrap es la última función ejecutada, el script debe devolver 0

¿Por qué este no es el caso? ¿Dónde está mal mi pensamiento?

Respuestas a la pregunta(1)

Su respuesta a la pregunta