unset [ -fm ] name ...
       Each  named  parameter  is unset.  Local parameters
       remain local  even  if  unset;  they  appear  unset
       within  scope,  but  the  previous value will still
       reappear when the scope ends.

       Individual elements of associative array parameters
       may  be  unset  by  using subscript syntax on name,
       which should be quoted (or the entire command  pre
       fixed  with  noglob)  to protect the subscript from
       filename generation.

       If the -m flag is specified the arguments are taken
       as  patterns  (should be quoted) and all parameters
       with matching names are unset.  Note that this can
       not  be  used when unsetting associative array ele
       ments, as the subscript will be treated as part  of
       the pattern.

       unset -f is equivalent to unfunction.
