环境变量相关的配置文件
用户 | 环境变量配置文件 |
---|---|
所有用户 | /ect/profile /etc/bashrc /etc/environment |
root | ~/.bashrc ~/.bash-profile |
非root用户 | /home/非root用户名/.bashrc |
source /etc/profile
or
. /etc/profile
环境变量配置方式
# 读取系统已有环境变量的方法,输入export
export
# PATH 变量定义的是运行命令的查找路径,以冒号 : 分割不同的路径
方式1:
export PATH=/usr/local/src/python3/bin:$PATH
# 或者把PATH放在前面
export PATH=$PATH:/usr/local/src/python3/bin
生效时间:立即生效
生效期限:当前打开的终端有效,窗口关闭后无效
生效范围:当前登录用户
需要加上$PATH,否则会覆盖原有路径
方式2
vim ~/.bashrc
# 在最后一行添加环境变量
export PATH=$PATH:/usr/local/src/python3/bin
生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bashrc 生效
生效期限:永久有效
生效范围:当前登录用户
可能会被后续的环境变量文件覆盖了PATH的值
方式3:
vim ~/.bash_profile
#最后添加环境变量
export PATH=$PATH:/usr/local/src/python3/bin
生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bash_profile 生效
生效期限:永久有效
生效范围:当前登录用户
如果没有 ~/.bash_profile 文件,则可以编辑 ~/.profile 文件或者新建一个
方式4
#如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/bashrc
vim /etc/bashrc
#在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin
生效时间:使用相同的用户打开新的终端时生效,或者手动 source /etc/bashrc 生效
生效期限:永久有效
生效范围:所有用户
方式5
# 如果/etc/profile文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/profile
vim /etc/profile
# 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin
生效时间:使用相同的用户打开新的终端时生效,或者手动 source /etc/profile 生效
生效期限:永久有效
生效范围:所有用户
方式6
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/environment
vim /etc/profile
# 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin
生效时间:使用相同的用户打开新的终端时生效,或者手动 source /etc/environment 生效
生效期限:永久有效
生效范围:所有用户
环境变量加载原理解析
思考:上述六种环境变量的配置方式, Linux是按什么顺序加载的呢?是否会相互覆盖相同的环境变量呢?
环境变量的分类
#用户级别环境变量配置文件:
~/.bashrc
~/.profile
~/.bash_profile(centos7 无)
/home/非root用户名/.bashrc
#系统级别环境变量配置文件:
/etc/bashrc
/etc/profile
/etc/bash_profile(centos7 无)
/etc/environment
环境变量加载顺序
/etc/environment
/etc/profile
/etc/bashrc
~/.profile
~/.bashrc