首先要说明的是,通过此函数并
不能添加或修改 shell 进程的环境变量,或者说通过setenv函数设置的环境变量只在
本进程,而且是本次执行中有效。如果在某一次运行程序时执行了setenv函数,进程终止后再次运行该程序,上次的设置是无效的,上次设置的环境变量是不能读到的。
表头文件 #include<stdlib.h>
定义函数 int setenv(const char *name,const char * value,int overwrite);
函数说明 setenv()用来改变或增加环境变量的内容。参数name为环境变量名称字符串。参数 value则为变量内容,参数overwrite用来决定是否要改变已存在的环境变量。如果overwrite不为0,而该环境变量原已有内容,则原内容会被改为参数value所指的变量内容。如果overwrite为0,且该环境变量已有内容,则参数value会被忽略。返回值 执行成功则返回0,有错误发生时返回-1。
范例
#include<stdlib.h>
main()
{ char * p;
if((p=getenv(“USER”)))
printf(“USER =%s\n”,p);
setenv(“USER”,”test”,1);
printf(“USER=%s\n”,getenv(“USER”));
unsetenv(“USER”);
printf(“USER=%s\n”,getenv(“USER”));
}
执行 USER = root USER = test USER = (null)
注释:stdlib.h 在Linux和Windows里略有不同,比如setenv函数是用在Linux里的,而在Windows里则没有setenv函数,可用putenv来代替。
____________________________________________________
Linux命令:
setenv
功能说明:查询或显示环境变量。
语 法:setenv [变量名称][变量值]
补充说明:setenv为tsch中查询或设置环境变量的指令。
英文版本,欢迎翻译:
ABOUT SETENV
In C shell sets the value of an environment variable.
SYNTAX
setenv [var [word]]
var Variable of the set command. word Set instructions or information of the variable.
EXAMPLES
setenv PATH "/bin:/usr/bin:/usr/sbin" - Sets the environment path to search for files in the /bin, /usr/bin and /usr/sbin directory.
翻译:
setenv说明:
用于在c shell中设置环境变量的值
用法:
setenv ENVVAR value
其中,ENVVAR为所要设置的环境变量的名,value为所要设置的环境变量的值
例如:
setenv PATH "/bin:/usr/bin:/usr/sbin:"设置环境path的搜索路径为/bin,/usr/bin以及/usr/sbin