环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性。
1.常见环境变量
PATH : 指定命令的搜索路径,以:分隔
HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
SHELL : 当前Shell,它的值通常是/bin/bash。
在我们执行自己的程序的时候需要带路径,而在执行系统路径的时候就不需要带路径,其原因就是因为PATH这个环境变量,在PATH路径下的指令都可以直接执行
因此我们如果想要自己的程序像系统命令一样直接执行有两种方法,第一种是把我们的可执行文件加入到PATH下的路径中,第二种就是把我们可执行文件的路径加入到PATH中。
第一种:
然后就可以直接执行我们的可执行程序
但这种方法并不推荐, 这样会污染Linux的命令池
第二种:
没有export是添加本地变量,有export是添加环境变量
我们在命令行设置的环境变量是放在内存中的是临时的,重新启动后会重新读取配置文件,重新配置环境变量
2.和环境变量相关的命令
1. echo: 显示某个环境变量值
2. export: 设置一个新的环境变量
3. env: 显示所有环境变量
4. unset: 清除环境变量
5. set: 显示本地定义的shell变量和环境变量
3.通过代码获取环境变量
在定义main函数的时候可以接收3个参数
argc表示的是指针数组argv的元素个数,argv用来接收程序名和选项,env用来接收环境变量
这几个参数在需要的时候可以发挥作用
比如:
这是一个简易的加减计算器,同时还要求只有“ldx"用户可以运行
4.环境变量的全局属性
环境变量通常具有全局属性,可以被子进程继承下去
所谓的本地变量是定义在bash内的,不会被子进程继承下去