1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
# $FreeBSD$ set -e trap - USR1 initial=$(trap) trap -- -l USR1 added=$(trap) [ -n "$added" ] trap - USR1 second=$(trap) [ "$initial" = "$second" ] eval "$added" added2=$(trap) added3=$(trap --) [ "$added" = "$added2" ] [ "$added2" = "$added3" ] trap -- - USR1 third=$(trap) [ "$initial" = "$third" ]