Linux下处理环境变量常见的几个操作:
env:显示当前所有的环境变量
set:显示当前bash下用户自定义的变量和环境变量
export:把自定义的变量转换成环境变量
环境表:
Unix下的每一个程序都会有一张环境表,其实我们可以想象,main函数使如下这种形式:
int main(int argc , char*argv[], char *envp[])
ISO C 规定了main函数没有第三个参数,所以Unix系统提供了全局变量environ,
环境表如下:
下面我们打印当前环境变量验证一下:
#include <stdio.h>
#incldue <stdlib.h>
extern char **environ
int main()
{
char **var;
for(var=environ;*var!=NULL; var++)
printf(“%s\n”,*var);
exit(0);
}
会发现和我们在终端输入env的结果是一样的。
通常情况下,我们只对某些环境变量感兴趣,所以系统提供了以下几个函数:
#include <stdlib.h>
Char *getenv(const char*name)
Int putenv(char *str)
Int setenv(const char *name, const char *value, int rewrite)
Int unsetenv(const char *name)
(记不住就man,I like the man @_@)