Linux环境变量配置文件区别
读取
读取环境变量的方法:
export
命令显示当前系统定义的所有环境变量echo $PATH
命令输出当前的PATH
环境变量的值
目录
直接修改PATH
的值
示例:export PATH=$PATH:你需要添加的变量
这里前面必须加上
$PATH
保证原有变量存在,使用:
分割
注意事项:
- 生效时间:立即生效
- 生效期限:当前终端有效,窗口关闭后无效
- 生效范围:仅对当前用户有效
修改~/.bashrc
在最后一行或者第一行加入:```
export 环境变量名称=地址 |
^wdyodx
注意事项:
- 生效时间:使用相同的用户打开新的终端时生效,或者手动
source ~/.bashrc
生效 - 生效期限:永久有效
- 生效范围:仅对当前用户有效
如果有后续的环境变量加载文件覆盖了
PATH
定义,则可能不生效
修改 ~/.bash_profile
类似:
![[Linux环境变量配置文件区别#^wdyodx]]
注意事项:
- 生效时间:使用相同的用户打开新的终端时生效,或者手动
source ~/.bash_profile
生效 - 生效期限:永久有效
- 生效范围:仅对当前用户有效
如果没有
~/.bash_profile
文件,则可以编辑~/.profile
文件或者新建一个
修改系统配置/etc/profile
需要sudo权限或者
类似:
![[Linux环境变量配置文件区别#^wdyodx]]
注意事项:
- 生效时间:新开终端生效,或者手动
source /etc/profile
生效 - 生效期限:永久有效
- 生效范围:对所有用户有效
修改系统环境变量配置文件 /etc/environment
需要sudo权限或者w权限
类似:
![[Linux环境变量配置文件区别#^wdyodx]]
注意事项:
- 生效时间:新开终端生效,或者手动
source /etc/environment
生效 - 生效期限:永久有效
- 生效范围:对所有用户有效
启动环境文件加载顺序
结论
系统环境变量 -> 用户自定义环境变量 /etc/environment -> /etc/profile -> ~/.profile
/etc/environment
/etc/profile
/etc/bashrc
/etc/profile.d/*.sh
~/.profile
~/.bashrc
验证
可再每个文件下加入:
export TEST="$TEST:/当前文件名称-"
启动后:echo $TEST
查看生成
先加载:/etc/environment
由系统自动加载
再加载:/etc/profile
- 检查系统:
/etc/bashrc
- 检查系统:
/etc/prfile.d/*.sh*
加载:~/.profile
- 检查加载用户:
~/.bashrc
建议
修改.bashrc文件,它可以把使用这些环境变量的权限控制到用户级别,只是针对某一个特定的用户。而修改 /etc/profile 文件,它是针对于所有的用户,使所有用户都有权使用这些环境变量。 相比较起来修改系统环境变量,它可能会给系统带来安全性的问题。
如果你的计算机仅仅作为开发使用,则推荐系统变量,否则针对用户设置。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Bai's Blog!