This is myscript.sh:
#!/bin/bash
function mytrap {
    echo "Trapped!"
}
trap mytrap EXIT
exit 3
And when I run it:
> ./myscript.sh
echo $?
3
Why is the exit code of the script the exit code with the trap the same as without it? Usually, a function returns implicitly the exit code of the last command executed. In this case:
- echo returns 0
- I would expect mytrapto return 0
- Since mytrapis the last function executed, the script should return 0
Why is this not the case? Where is my thinking wrong?
 
     
    