unset [ -fmv ] 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.

       The  -v  flag specifies that name refers to parame-
       ters. This is the default behaviour.

       unset -f is equivalent to unfunction.
