trap [ arg [ sig ... ] ]
       arg is a command to be read and executed  when  the
       shell  receives  sig.   Each  sig can be given as a
       number or as the name of a signal.  If arg is  `-',
       then  all traps sig are reset to their default val-
       ues.  If arg is the null string, then  this  signal

       is  ignored  by  the  shell  and by the commands it
       invokes.

       If sig is ZERR then arg will be executed after each
       command  with  a  nonzero  exit  status.  If sig is
       DEBUG then arg will be executed after each command.
       If  sig is 0 or EXIT and the trap statement is exe-
       cuted inside the body of a function, then the  com-
       mand  arg is executed after the function completes.
       If sig is 0 or EXIT and the trap statement  is  not
       executed  inside  the  body of a function, then the
       command arg is executed when the shell  terminates.

       The trap command with no arguments prints a list of
       commands associated with each signal.
