$set //显示当前所有环境变量
$export TEST_NAME="chef" //添加一个环境变量
$echo $TEST_NAME //查看环境变量TEST_NAME的值
$unset TEST_NAME //删除环境变量TEST_NAME
/*export添加的环境变量只对当前shell有效, 当shell重启或者打开新的shell该环境变量就不存在了, 通过修改文件的方法可以永久添加环境变量*/
$vim /etc/profile //打开配置文件
TEST_NAME2="chef" //在文件最后一行+上,输入:wq保存文件退出,
$source /etc/profile //或者重启使新添加的环境变量生效
$echo $TEST_NAME2 //此时我们就可以看到新添加的环境变量了
下面介绍getenv, putenv, setenv, unsetenv
四个函数包含头文件都是<stdlib.h>
函数原型:
char* getenv(const char *name);
int putenv(const char *string);
int setenv(const char *name, const char *value, int overwrite);
int unsetenv(const char *name);
通过下面两个小例子可以很清楚地说明它们的用法
return 0;
}
运行结果为PWD=/mnt/hgfs/linux(执行该程序时的路径)
putenv("TEST_NAME3=b");
printf("TEST_NAME3=%s/n", getenv("TEST_NAME3"));
setenv("TEST_NAME3", "c", 0);
printf("TEST_NAME3=%s/n", getenv("TEST_NAME3"));
setenv("TEST_NAME3", "d", 2);
printf("TEST_NAME3=%s/n", getenv("TEST_NAME3"));
printf("%d/n", unsetenv("TEST_NAME3"));
printf("%d/n", unsetenv("TEST_NAME3"));
return 0;
}
运行结果为
TEST_NAME3=a
TEST_NAME3=b
TEST_NAME3=b
TEST_NAME3=d
0
0
说明putenv()
当环境变量name不存在时会增加该环境变量,
存在时将修改该环境变量
而setenv()当环境变量name不存在时会增加环境变量,
当该环境已经存在时, 则更灵活一点, 通过第三个int类型变量来控制,
当该int变量为0时, 则不修改该环境变量的值
当该int变量不为0时, 则修改该环境变量的值