1.概念
环境变量是指操作系统为了满足不同的应用场景,预先在系统内设置的全局变量(参数)。
比如在写代码时需要链接的动静态库,虽然不知道动静态库的位置,但是仍然可以链接成功,就是因为环境变量的帮助,确认了位置。
通过env来查看当前路径下所有的环境变量。
2.常见环境变量
PATH:指定命名的搜索路径
也可以通过export PATH =$ PATH : + 路径,把指令添加到系统的环境变量。
HOME:指定用户的主工作目录
SHELL:当前的Shell
通过echo $+环境变量名,来查看当前路径下的环境变量。
export :设置一个新的环境变量
set:显示本地/全局环境变量(在系统的全局变量无法查看本地的变量时可以用set)
unset:清除环境变量
每个程序都会有一张环境表,环境表是一个字符指针数组。
3.获取环境变量的三种方式
(1)getenv()
(2)char * env[]
(3)extern char ** environ
environ指向环境变量表,但没有包含在头文件中,所有使用时要用extern。
环境变量具有全局特性,可以被子进程继承下去。
就比如ls,相当于创建子进程,继承了bash的环境变量,才能找到当前路径。