setenv函数
作用:改变或增加环境变量
相关函数getenv,putenv,unsetenv,首先要说明的是,通过此函数并不能添加或修改shell进程的环境变量,或者说通过setenv函数设置的环境变量只在本进程,而且是本次执行中有效。如果在某一次运行程序时执行了setenv函数,进程终止再次运行该程序,上次的设置是无效的,上次设置的环境变量是不能读到的。
参数value则为变量内容,参数overwrite用来决定是否要改变已存在的环境变量。注释stdlib.h在Linux和windows中略不同,比如setenv函数是用在linux中的,在Windows中没有setenv函数而用putenv来代替。
定义函数:int setenv(const char *name,const char *value,int overwrite);
函数说明setenv函数用来改变环境变量或增加环境变量的内容,参数name为环境变量名称字符串,参数value则为变量的内容,参数overwrite用来决定是否要改变已存在的环境变量。如果没有此环境变量,则无论overwrite为何值均添加此环境变量。若此环境变量存在,overwrite不为0时,原内容会被改为参数value所指的变量内容,当overwrite为0时,则参数会被忽略。返回值执行成功则返回0,有错误发生时,返回-1
——————————————————————————————————————————————————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
# 功能说明:设置或显示环境变量。
# export [-fnp][变量名称]=[变量设置值]
# 只在本次登录中有效
# 再增加的路径用:追加
export PATH=$PATH:/home/jason001
在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。
参数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量
export设置环境变量是暂时的,只在本次登录中有效,可修改如下文件来使命令长久有效。
#vi /etc/profile
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
这个在我们的机器上是大家共用的,建议不修改这个,只修改自己根路径下的。
# vi /home/zhaodw/.bash_profile
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
注意
1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出;
2、一个shell中的系统环境变量才会被复制到子shell中(用export定义的变量);