TRAPxxx If defined and non-null, this function will be executed whenever the shell catches a signal SIGxxx, where xxx is a signal name as specified for the kill builtin (see below). In addition, TRAPERR is executed whenever a command has a non-zero exit status, TRAPDEBUG is exe- cuted after each command, and TRAPEXIT is executed when the shell exits, or when the current function exits if defined inside a function. If a function of this form is defined and null, the shell and processes spawned by it will ignore SIGxxx.