且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量

更新时间:2022-09-03 09:03:58



1进程环境

libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时要用extern声明。例如:

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量

运行结果:

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量

2.env命令可以查看进程信息

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量

3.echo $环境变量名  得出环境变量的值

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量

4getenv()

A依赖头文件

#include<stdlib.h>

B函数声明

char *getenv(constchar *name);

environ指针可以查看所有环境变量字符串,但是不够方便,如果给出name要在环境变量表中查找它对应的value,可以用getenv函数。

C案例说明:

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量

运行结果:

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量

5setenv()函数和unsetenv()函数

A依赖的头文件

#include <stdlib.h>

B函数声明:

int setenv(constchar *name,const char *value,int rewrite);

voidunsetenv(const char *name);

函数说明:

putenvsetenv函数若成功则返回0,若出错,则返回非0.

 

setenv将环境变量name的值设置为value.如果已存在环境变量name,那么若rewrite0,则覆盖原来的定义,若rewrite0,则不覆盖原来的定义,也不返回错误。

 

unsetenv删除name的定义。即使name没有定义也不返回错误。

例:修改环境变量

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量

运行结果:

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量