前言
在自定义安装软件的时候,经常需要配置环境变量,下面进行详细解析
& nbsp;
环境变量配置文件
用户 | 配置文件 |
---|---|
系统环境 | /ect/profile /etc/bashrc /etc/environment |
root | ~/.bashrc ~/.bash-profile |
非root用户 | /home/非root用户名/.bashrc |
读取环境变量
读取环境变量的方法:
export
命令显示当前系统定义的所有环境变量echo $PATH
命令输出当前的PATH
环境变量的值
执行效果如下:
[root@jkc etc]# export
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="jkc"
declare -x LANG="zh_CN.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
[root@jkc etc]# echo $PATH
/usr/local/node/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
其中PATH
变量定义了运行命令的查找路径,以冒号:
分割不同的路径
更新环境变量
source /etc/profile
或者. /etc/profile
环境变量配置方法一:直接在当前窗口输入export PATH
export PATH=/usr/local/src/python3/bin:$PATH
# 或者把PATH放在前面
export PATH=$PATH:/usr/local/src/python3/bin
注意
- 生效时间:立即生效
- 生效期限:当前打开的终端有效,窗口关闭后无效
- 生效范围:当前登录用户
- 配置时需要加上$PATH,否则会覆盖原有路径
环境变量配置方法二:vim ~/.bashrc
通过修改用户目录下的~/.bashrc
文件进行配置:
vim ~/.bashrc
# 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin
注意
- 生效时间:使用相同的用户打开新的终端时生效,或者手动
source ~/.bashrc
生效 - 生效期限:永久有效
- 生效范围:当前登录用户
- 可能会被后续的环境变量文件覆盖了
PATH
的值
环境变量配置方法三:vim ~/.bash_profile
和修改~/.bashrc
文件类似,也是要在文件最后加上新的路径即可:
vim ~/.bash_profile
# 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin
注意:
- 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bash_profile生效
- 生效期限:永久有效
- 生效范围:当前登录用户
- 如果没有
~/.bash_profile
文件,则可以编辑~/.profile
文件或者新建一个
环境变量配置方法四:vim /etc/bashrc
该方法是修改系统配置,需要管理员权限(如root)或者对该文件的写入权限:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/bashrc
vim /etc/bashrc
# 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin
注意:
生效时间:使用相同的用户打开新的终端时生效,或者手动 `source /etc/bashrc `生效
生效期限:永久有效
生效范围:所有用户
环境变量配置方法五:vim /etc/profile
该方法修改系统配置,需要管理员权限或者对该文件的写入权限,和vim /etc/bashrc
类似:
# 如果/etc/profile文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/profile
vim /etc/profile
# 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin
注意:
- 生效时间:使用相同的用户打开新的终端时生效,或者手动
source /etc/profile
生效 - 生效期限:永久有效
- 生效范围:所有用户
环境变量配置方法六:vim /etc/environment
# 如果/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
)/home/非root用户名/.bashrc
系统级别配置文件:
- /etc/bashrc
- /etc/profile (部分系统为:
/etc/bash_profile
) - /etc/environment
环境变量加载顺序
1./etc/environment
2./etc/profile
3./etc/bashrc
4.~/.profile
5.~/.bashrc