环境变量--永久 & 暂时
Linux 环境变量配置信息
查看环境变量
export
查看系统所有环境变量echo $PATH
查看 PATH 环境变量值
环境变量的命名规则为:变量名=变量值
多个变量值之间使用 : 分隔
添加环境变量
环境变量分类
按照作用域分类
环境变量可以简单的分成用户自定义的环境变量以及系统级别的环境变量。
- 用户级别环境变量定义文件:
~/.bashrc
、~/.profile
(部分系统为:~/.bash_profile
) - 系统级别环境变量定义文件:
/etc/bashrc
、/etc/profile
(部分系统为:/etc/bash_profile
)、/etc/environment
另外在用户环境变量中,系统会首先读取~/.bash_profile
(或者~/.profile
)文件,如果没有该文件则读取~/.bash_login
,根据这些文件中内容再去读取~/.bashrc
。
按照生命周期分类
inux环境变量可以分为两类:
永久的
需要用户修改相关的配置文件,变量永久生效。临时的
用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。
使用 export
添加临时环境变量
仿照上文提到的环境变量命名规则,使用命令
export PATH=/home/username/python/bin:$PATH
注意:
- 使用 export 变量值可以使用双引号也可以不使用
- 记得添加以前的 PATH 值,在前在后均可以
- 该声明是临时生效,在当前终端下声明环境变量,关闭Shell终端失效。
修改配置文件添加永久临时变量
vi ~/.bashrc
vim ~/.bashrc
# 在最后一行加上
export PATH=$PATH:/home/username/username/bin
# 立即生效
source ~/.bashrc
- 对当前用户生效
- 永久有效
vi ~/.bash_profile
vim ~/.bash_bashrc
# 在最后一行加上
export PATH=$PATH:/home/username/username/bin
# 立即生效
source ~/.bash_bashrc
- 对当前用户生效
- 永久有效
vi /etc/bashrc
vim /etc/bashrc
# 在最后一行加上
export PATH=$PATH:/home/username/username/bin
# 立即生效
source /etc/bashrc
- 对所有用户生效
- 永久有效
vi /etc/profile
vim /etc/profile
# 在最后一行加上
export PATH=$PATH:/home/username/username/bin
# 立即生效
source /etc/profile
- 对所有用户生效
- 永久有效
Linux 环境变量加载原理
.bashrc文件和.bash_profile文件的区别
~/.bash_profile
是交互式、login
方式进入bash
运行的~/.bashrc
是交互式non-login
方式进入bash
运行的通常二者设置大致相同,所以通常前者会调用后者。所以一般优先把变量设置在.bashrc
里面。比如在crontab
里面执行一个命令,.bashrc
设置的环境变量会生效,而.bash_profile
不会。
简单的说,.bash_profile
只在会话开始时被读取一次,而.bashrc
则每次打开新的终端时,都会被读取。
环境变量加载顺序
系统环境变量 --> 用户环境变量
Linux加载环境变量的顺序如下:
/etc/environment
/etc/profile
/etc/bash.bashrc
~/.profile
~/.bashrc