Unix 环境变量

Linux下处理环境变量常见的几个操作:

env:显示当前所有的环境变量

set:显示当前bash下用户自定义的变量和环境变量

export:把自定义的变量转换成环境变量


环境表:

Unix下的每一个程序都会有一张环境表,其实我们可以想象,main函数使如下这种形式:

int main(int argc , char*argv[], char *envp[])

 ISO C 规定了main函数没有第三个参数,所以Unix系统提供了全局变量environ,

环境表如下:

Unix 环境变量_第1张图片

 

下面我们打印当前环境变量验证一下:

#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 @_@




你可能感兴趣的:(环境变量)