bash resets BASH_SUBSHELL to 0 when executing an EXIT trap, even if the EXIT trap is executed in a subshell.
echo $(trap 'echo $BASH_SUBSHELL' EXIT; echo $BASH_SUBSHELL)
Actual output: 1 0
Expected output: 1 1
The same does not happen for a signal trap.
echo $(trap 'echo $BASH_SUBSHELL; exit' INT; echo $BASH_SUBSHELL;
kill -s INT $BASHPID)
Actual output: 1 1
Expected output: 1 1
Thanks,
- Martijn
