| sean finney on 13 Oct 2009 13:52:35 -0700 |
|
hi,
On Tue, Oct 13, 2009 at 03:52:24PM -0400, K.S. Bhaskar wrote:
> It appears that POSIX shell (and bash) have no built-in way to
> distinguish between the case where an environment variable exists with
> a null value and the case where it simply does not exist. The
this is POSIXly correct afaik:
sh -u -c 'echo $foo' >/dev/null 2>&1
and has the added benefit of only a single subshell call, putting the result
in the test(1)'able $?. if you want to get fancy and generalize:
isset(){
local varname
varname=$1
eval 'sh -u -c "echo \$$varname"' >/dev/null 2>&1
}
hth,
sean
Attachment:
signature.asc ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|