环境变量是指在操作系统中用来指定操作系统运行环境的一些参数。
如在安装一些软件时如果想通过终端去执行命令,一般需要将软件的bin文件夹路径加入到系统的环境变量
PATH
中。
可以使用env
指令来查看系统的环境变量。
程序 & 环境变量
程序可以从配置文件、命令行参数传递或环境变量来获取我们传递的参数。从环境变量获取的参数一般更灵活。
程序的入口函数main
的完整声明应该是:
int main(int argc, char *argv[], char *env[])
其中:argc表示传入参数的个数,argv[]表示传入参数的字符串数组,其中第一个参数默认是可执行文件名。env[]表示环境变量的字符串数组。
在shell中可以使用export 变量名=变量值
来临时设置环境变量的键值对,后续在该shell执行的可执行程序都拥有设置的环境变量。
程序获取环境变量的方式
- 通过environ全局变量来获取,直接使用
extern
声明即可 - 通过main函数的第三个参数传入得到
- 使用
getenv()
调用获得,char *getenv(char* name);
/proc/pid/
目录记录了正在运行的进程号为pid的进程相关信息的文件,其中envrion
文件中记录的就是该运行进程的环境变量信息。上面environ全局变量的值应该就是来自于此。