Andreas Schwab wrote: >> $ unset .foo-bar >> bash: unset: `.foo-bar': not a valid identifier > > Use unset -f.
IMHO there is a bug. The docs say that ''unset'' without a specific switch affects variables AND functions, hence it should allow the names for both (or it should ONLY affect variables and expect an explicit -f for functions). The latter behaviour would be POSIX-compilant, too ("unspecified" opens doors - heh). It's at least a usability bug. J.