echo: 显⽰示某个环境变量值
export: 设置⼀一个新的环境变量
env: 显示所有环境变量
unset: 清除环境变量
set: 显示本地定义的shell变量和环境变量
下面我们来看看这几个函数:
setenv/unsetenv
int setenv(const char *name, const char *value,int overwrite);
int unsetenv(const char *name);
//成功返回:0 失败返回:-1
name:要设置的环境变量的名称
value:要设置的环境变量的值,及环境变量内容
overwrite:如果要设置的环境变量已经存在,overwrite取值
0:不改变环境变量的原有内容
非0:改变环境变量的原有内容,原有内容将被改成value
如果要设置的环境变量之前不存在,该函数实现创建环境变量name,忽略overwrite参数。
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
int main()
{
int i=-1;
i=setenv("myenv","The env of XiaoWeiwei",0);
if(i==0){
printf("%s\n",getenv("myenv"));
unsetenv("myenv");
}
return 0;
}
getenv
上例中出现了getenv()
char * getenv(const char *name);
getenv()用来取得参数name环境变量的内容。参数name为环境变量的名称,如果该变量存在则会返回指向该内容的指针,不存在则返回NULL。
putenv
定义函数int putenv(const char * string);
函数说明:putenv()用来改变或增加环境变量的内容。参数string的格式为name=value,如果该环境变量原先存在,则变量内容会依参数string改变,否则此参数内容会成为新的环境变量。
返回值:执行成功则返回0,有错误发生则返回-1。
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
int main()
{
int i=-1;
i=setenv("myenv","The env of XiaoWeiwei",0);
if(i==0){
printf("%s\n",getenv("myenv"));
putenv("myenv=xiaoweiwei");
printf("%s\n",getenv("myenv"));
unsetenv("myenv");
}
return 0;
}