环境变量一般分为用户环境变量和系统环境变量,用户环境变量存储在用户主目录下,系统环境变量存储在 /etc 目录下,用户环境变量对当前用户有效,而系统环境变量对所有用户有效。
一、环境变量存储文件
用户环境变量通常的存储位置(不一定是这些,也不全是这些):
- ~/.bashrc
- ~/.bashrc_profile
- ~/.profile
系统环境变量通常的存储位置(不一定是这些,也不全是这些):
- /etc/bashrc
- /etc/bashrc_profile(/etc/bash.bashrc)
- /etc/profile
- /etc/environment
环境变量是按照一定的顺序进行加载的,通常会先加载系统环境变量,后加载用户环境变量,如果有同名的环境变量,则后加载的环境变量会覆盖之前加载的环境变量。
系统环境变量和用户环境变量也通常按一定规则来顺序加载,通常的加载顺序为:
- /etc/environment
- /etc/profile
- /etc/bashrc_profile
- /etc/bashrc
- ~/.profile
- ~/.bashrc_profile
- ~/.bashrc
二、读取环境变量
1. 使用 export
显示当前系统定义的所有环境变量。
2. 使用 env
显示当前系统定义的所有环境变量
export
和env
显示的环境变量内容基本上相同,只是显示格式不相同有区别。
3. 使用 echo $环境变量名
输出指定环境变量的值。
export
命令修改的环境变量,仅对当前用户的当前终端有效,且立即生效,窗口关闭后失效。
三、配置环境变量
1. export 除了可以显示系统定义的所有环境变量,还可以通过 export 环境变量名=新的环境变量值
来临时修改环境变量的值
生效说明:
- 对当前用户立即生效
- 当前终端有效,窗口关闭后失效
- 如果环境变量之前有配置,为了防止覆盖原来配置信息,需在前面加上原来的配置变量名及一个冒号(:),如
$PATH=$PATH:/path/to/exec
,多个环境变量值是通过冒号进行分隔的。
2. 配置用户环境变量文件,如 ~/.bashrc , ~/.profile 等
生效说明:
- 用户运行
source ~/环境变量文件
后,对当前用户生效 - 永久生效
- 注意后面如果还有加载别的环境变量文件,涉及同名环境变量时,会有覆盖可能。
3. 配置系统环境变量文件,如 /etc/bashrc ,/etc/profile 等
生效说明:
- 用管理员权限运行
source /etc/环境变量文件
后,对所有用户生效 - 永久生效
- 注意后面如果还有加载别的环境变量文件,涉及同名环境变量时,会有覆盖可能。