In regards to worries about "unset FOO" not working if FOO is not set:
${FOO+unset FOO} Is this crazy or clever? It works in Solaris sh. (I know, in most cases, it's sufficient to just empty the variable, but sometimes it'd be nice to be able to distinguish between empty and unset.) -s