目录
- Linux环境变量配置
- Linux环境变量配置方法一:export PATH
- Linux环境变量配置方法二:vim ~/.bashrc
- Linux环境变量配置方法三:vim ~/.bash_profile
- Linux环境变量配置方法四:vim /etc/bashrc
- Linux环境变量配置方法五:vim /etc/profile
- Linux环境变量配置方法六:vim /etc/environment
- Linux环境变量加载原理解析
- 环境变量的分类
- 测试Linux环境变量加载顺序的方法
Linux环境变量配置
在自定义安装软件的时候,经常需要配置环境变量。
Linux读取环境变量
读取环境变量的方法:
export #命令显示当前系统定义的所有环境变量
echo $PATH #命令输出当前的PATH环境变量的值
这两个命令执行的效果如下
其中PATH变量定义了运行命令的查找路径,以冒号:分割不同的路径,使用export定义的时候可加双引号也可不加。
Linux环境变量配置方法一:export PATH
使用export命令直接修改PATH的值:
export PATH=要加的路径:$PATH
或者把PATH放在前面
export PATH=$PATH:要加的路径
要注意的是,这种方式虽然可以立即生效,但仅对当前终端有效,仅对当前用户有效。
Linux环境变量配置方法二:vim ~/.bashrc
通过修改用户目录下的~/.bashrc文件进行配置:
vim ~/.bashrc
#在最后一行加上
export PATH=$PATH:要加的路径
注意:这样修改需要相同用户打开新的终端才生效,且进队当前用户永久有效。
Linux环境变量配置方法三:vim ~/.bash_profile
和修改~/.bashrc文件类似,也是要在文件最后加上新的路径即可:
vim ~/.bash_profile
#在最后一行加上
export PATH=$PATH:要加的路径
注意事项同上。
Linux环境变量配置方法四:vim /etc/bashrc
该方法是修改系统配置,需要管理员权限(如root)或者对该文件的写入权限:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/bashrc
vim /etc/bashrc
#在最后一行加上
export PATH=$PATH:要加的路径
注意事项::新开终端生效,永久有效并对所有用户有效
Linux环境变量配置方法五:vim /etc/profile
该方法修改系统配置,需要管理员权限或者对该文件的写入权限,和vim /etc/bashrc类似:
# 如果/etc/profile文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/profile
vim /etc/profile
# 在最后一行加上
export PATH=$PATH:要加的路径
注意事项::新开终端生效,永久有效并对所有用户有效
Linux环境变量配置方法六:vim /etc/environment
该方法是修改系统环境配置文件,需要管理员权限或者对该文件的写入权限:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/environment
vim /etc/profile
# 在最后一行加上
export PATH=$PATH:要加的路径
注意事项::新开终端生效,永久有效并对所有用户有效
Linux环境变量加载原理解析
环境变量的分类
环境变量可以简单的分成用户自定义的环境变量以及系统级别的环境变量。
- 用户级别环境变量定义文件:
~/.bashrc、~/.profile(部分系统为:~/.bash_profile)
- 系统级别环境变量定义文件:
/etc/bashrc、/etc/profile(部分系统为:/etc/bash_profile)、/etc/environment
另外在用户环境变量中,系统会首先读取~/.bash_profile(或者~/.profile)
文件,如果没有该文件则读取~/.bash_login
,根据这些文件中内容再去读取~/.bashrc
。
测试Linux环境变量加载顺序的方法
为了测试各个不同文件的环境变量加载顺序,我们在每个环境变量定义文件中的第一行都定义相同的环境变量UU_ORDER,该变量的值为本身的值连接上当前文件名称。
需要修改的文件如下:
/etc/environment
/etc/profile
/etc/profile.d/test.sh,新建文件,没有文件夹可略过
/etc/bashrc,或者/etc/bash.bashrc
~/.bash_profile,或者~/.profile
~/.bashrc
在每个文件中的第一行都加上下面这句代码,并相应的把冒号后的内容修改为当前文件的绝对文件名。
export UU_ORDER="$UU_ORDER:~/.bash_profile"
修改完之后保存,新开一个窗口,然后echo $UU_ORDER
观察变量的值。
可以推测出Linux加载环境变量的顺序如下:
1. /etc/environment
2. /etc/profile
3. /etc/bash.bashrc
4. /etc/profile.d/test.sh
5. ~/.profile
6. ~/.bashrc