On 09/07/2010 02:09 PM, Bruno Haible wrote:
$ env | grep POSIXLY_CORRECT POSIXLY_CORRECT=1 $ echo ${POSIXLY_CORRECT+set}Any other ideas for portable ways of detecting whether a shell variable is currently local-only or exported?'printenv' does not exist on Solaris. But 'awk' is among the list of portable programs. This should work: if test `awk 'BEGIN { print ENVIRON["POSIXLY_CORRECT"] }'< /dev/null | wc -c` = 1; then : # POSIXLY_CORRECT is not exported else : # POSIXLY_CORRECT is exported fi
Thanks for the tip! With that, I can come up with a more concise awk script, given that hint, and awk is already on the GCS approved list. (Still, it would be nice to add env.) POSIX guarantees that awk supplies ENVIRON; are we assuming that this is reasonable portable to all the old-and-crusty vendor implementations out there, since the autoconf manual doesn't state otherwise?
-- Eric Blake [email protected] +1-801-349-2682 Libvirt virtualization library http://libvirt.org
