GETENV(3) UNIX Programmer's Manual GETENV(3) NAME getenv, setenv, unsetenv - manipulate environmental vari- ables SYNOPSIS char *getenv(name) char *name; setenv(name, value, overwrite) char *name, value; int overwrite; void unsetenv(name) char *name; DESCRIPTION _G_e_t_e_n_v searches the environment list (see _e_n_v_i_r_o_n(7)) for a string of the form _n_a_m_e=_v_a_l_u_e and returns a pointer to the string _v_a_l_u_e if such a string is present, and 0 (NULL) if it is not. _S_e_t_e_n_v searches the environment list as _g_e_t_e_n_v does; if the string _n_a_m_e is not found, a string of the form _n_a_m_e=_v_a_l_u_e is added to the environment. If it is found, and _o_v_e_r_w_r_i_t_e is non-zero, its value is changed to _v_a_l_u_e. _S_e_t_e_n_v returns 0 on success and -1 on failure, where failure is caused by an inability to allocate space for the environment. _U_n_s_e_t_e_n_v removes all occurrences of the string _n_a_m_e from the environment. There is no library provision for completely removing the current environment. It is suggested that the following code be used to do so. static char *envinit[1]; extern char **environ; environ = envinit; All of these routines permit, but do not require, a trailing equals (``='') sign on _n_a_m_e or a leading equals sign on _v_a_l_u_e. SEE ALSO csh(1), sh(1), execve(2), environ(7) Printed 11/26/99 March 20, 1987 1