How do I check if an environment variable is set?
Printable View
How do I check if an environment variable is set?
On Thu, 19 Oct 2006 17:35:27 +0300, Angel Tsankov wrote:[color=blue]
> How do I check if an environment variable is set?[/color]
Well doing a
man test
would suggest you can test string for nonzero length or if length is zero.
Angel Tsankov wrote:[color=blue]
> How do I check if an environment variable is set?[/color]
${foo+1}
If $foo is unset this expands to NULL
If $foo is set (including set to NULL) this will expand to 1
If NULL and unset are equivalent use ${foo:+1}
/dan
Angel Tsankov wrote:[color=blue]
>
> How do I check if an environment variable is set?[/color]
If programatically, use getenv() in C. It returns NULL if not
found. From N869 (C standard):
7.20.4.5 The getenv function
Synopsis
[#1]
#include <stdlib.h>
char *getenv(const char *name);
Description
[#2] The getenv function searches an environment list,
provided by the host environment, for a string that matches
the string pointed to by name. The set of environment names
and the method for altering the environment list are
implementation-defined.
[#3] The implementation shall behave as if no library
function calls the getenv function.
Returns
[#4] The getenv function returns a pointer to a string
associated with the matched list member. The string pointed
to shall not be modified by the program, but may be
overwritten by a subsequent call to the getenv function. If
the specified name cannot be found, a null pointer is
returned.
--
Chuck F (cbfalconer at maineline dot net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net>
On 2006-10-19, Angel Tsankov wrote:[color=blue]
> How do I check if an environment variable is set?[/color]
[ -n "${VAR+x}" ] ## Fails if VAR is unset
[ -n "${VAR:+x}" ] ## Fails if VAR is unset or empty
[ -n "${VAR-x}" ] ## Succeeds if VAR is unset
[ -n "${VAR:-x}" ] ## Succeeds if VAR is unset or empty
--
Chris F.A. Johnson, author | <http://cfaj.freeshell.org>
Shell Scripting Recipes: | My code in this post, if any,
A Problem-Solution Approach | is released under the
2005, Apress | GNU General Public Licence
Angel Tsankov wrote:[color=blue]
> How do I check if an environment variable is set?[/color]
echo $VARIABLE
Angel Tsankov wrote:[color=blue]
> How do I check if an environment variable is set?[/color]
shell:~$ env
That will list the environment variables.