一、环境变量是什么?
Linux 中的各种指令本质上是 /usr/bin/ 目录下的一个个可执行程序,和自己编写的可执行程序没有任何区别。但执行自己的程序时需要指定路径,而执行Linux中的各种指令却不需要指定路径。
这是因为系统中存在PATH环境变量,PATH中存放着这些指令的地址;当我们使用这些指令时,系统会自动去PATH中寻找对应指令,如果找到了就执行,找不到就报错 – “command not found”。
1.常见环境变量
PATH:指定命令的搜索路径
HOME:指定用户的主工作目录(即用户登录到Linux系统中时的默认目录)
SHELL:当前的Shell,值通常是/bin/bash
2.查看环境变量方法
echo $NAME //NAME:你的环境变量的名称
3.和环境变量相关的命令
export:设置一个新的环境变量
env:显示所有环境变量
unset:清除环境变量
set:显示本地定义的shell变量和环境变量
二、环境变量基本操作
1.环境变量的组织方式
每个程序都会收到一张环境表,环境表是一个字符指针数组,每个指针指向一个以’\0’结尾的环境字符串:
2.通过代码获取环境变量
有三种方式:
(1)getenv()
(2)命令行第三个参数
(3)通过第三方变量environ获取
3.环境变量通常具有全局属性
可以被子进程继承下去,这也是环境变量具有全局属性的根本原因
如果只进行MYENV=12345
,MYENV只是局部变量,用程序无法查看;只有加上export MYENV
(或export MYENV=12345
)才能使得MYENV成为全局变量。