et to its original value. If ACTION is the null string each SIGNAL_SPEC is ignored by the shell and by the commands it invokes. If a SIGNAL_SPEC is EXIT (0) ACTION is executed on exit from the shell. If a SIGNAL_SPEC is DEBUG, ACTION is executed before every simple command and selected other commands. If a SIGNAL_SPEC is RETURN, ACTION is executed each time a shell function or a script run by the . or source builtins finishes executing. A SIGNAL_SPEC of ERR means to execute ACTION each time a command's failure would cause the shell to exit when the -e option is enabled. If no arguments are supplied, trap prints the list of commands associated with each trapped signal in a form that may be reused as shell input to restore the same signal dispositions. Options: -l print a list of signal names and their corresponding numbers -p display the trap commands associated with each SIGNAL_SPEC in a form that may be reused as shell input; or for all trapped signals if no arguments are supplied -P display the trap commands associated with each SIGNAL_SPEC. At least one SIGNAL_SPEC must be supplied. -P and -p cannot be used together. Each SIGNAL_SPEC is either a signal name in or a signal number. Signal names are case insensitive and the SIG prefix is optional. A signal may be sent to the shell with "kill -signal $$". Exit Status: Returns success unless a SIGSPEC is invalid or an invalid option is given.