文章内容如下:
1)什么是环境变量;
2)如何通过程序获取环境变量;
3) 常识规律
一。环境变量的定义
环境变量就是指一段路径。 定义环境变量主要是为了方便的执行程序。添加环境变量的方法是export PATH=$PATH:/A/B,export PATH=$PATH:/A/B表示把路径/A/B添加到环境变量PATH中去。
添加环境变量的一个好处就是以后/A/B下的可执行程序不需要带路径了,直接写可执行程序名回车命令就可执行成功,系统会先去环境变量PATH中去找有没有你写的可执行程序,有就执行,事实上你的程序在添加到环境变量的那个路径里,所以执行肯定会成功,如果没有那么就会报错。实际上许多系统命令就是在环境变量PATH里,所以你执行系统指令时可以不带路径,当然你要是喜欢带路径也是可以的。需要指出的是系统里有许多环境变量,PATH只是Linux中的一部分。
一般命令行中改环境变量只能在本次登陆中修改,一旦退出登录就又恢复老样子了。需要指出的是echo $PATH表示查看环境变量PATH的内容,环境变量PATH表示指定命令的搜索路径。echo是查看的意思,export是导入的意思。env回车能看见Linux下所有的环境变量。
二。通过程序获取环境变量
众所周知,main()函数可以带3个参数,2个命令行参数,1个环境变量参数,如下图所示:
3)env表示 每一个进程在启动的时候,启动该进程的进程传递给它的环境变量信息都可以以该参数传导进来
可用如下程序打印出指针数组env[]接收到的所有内容:
更常用的是用getenv()获取环境变量内容,如getenv("PATH")表示获取环境变量PATH的内容
三。常识规律
1)子进程的环境变量是从父进程来的;
2)默认所有的环境变量都会被子进程继承。
3)env | grep bit 表示用env获取环境变量bit,需要注意的是env只能获取与环境变量有关的变量,如果那个变量不是环境变量你又想查看,如bit=12345中的bit就不是环境变量,这时可以使用set | grep bit 查看一下,set | grep bit 表示用set查看变量bit