常用命令
env// 查看单个环境变量echo $JAVA_HOME// 写入环境变量export JAVA_HOME=/home/java// 添加export JAVA_HOME=$JAVA_HOME:/home/java //多个文件用冒号隔开即可source ./bash_profile // 立即生效,不生效就重启
分类
- 用户级别环境变量定义文件:~/.bashrc、~/.profile(部分系统为:~/.bash_profile)
系统级别环境变量定义文件:/etc/bashrc、/etc/profile(部分系统为:/etc/bash_profile)、/etc/environment
加载顺序
为了测试各个不同文件的环境变量加载顺序,我们在每个环境变量定义文件中的第一行都定义相同的环境变量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观察变量的值:
复制代码
uusama@ubuntu:~$ echo $UU_ORDER
$UU_ORDER:/etc/environment:/etc/profile:/etc/bash.bashrc:/etc/profile.d/test.sh:~/.profile:~/.bashrc
可以推测出Linux加载环境变量的顺序如下:
- /etc/environment
- /etc/profile
- /etc/bash.bashrc
- /etc/profile.d/test.sh
- ~/.profile
- ~/.bashrc
使用
用户的环境变量在用户的主目录下,可以通过echo $HOME查看用户主目录。与环境变量有关的一共四个文件,没有在主目录新建即可。注意文件以.开头export PATH
使用export命令直接修改PATH的值,配置MySQL进入环境变量的方法: ``` export PATH=/home/uusama/mysql/bin:$PATH
或者把PATH放在前面
export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
- 生效时间:立即生效
- 生效期限:当前终端有效,窗口关闭后无效
- 生效范围:仅对当前用户有效
- 配置的环境变量中不要忘了加上原来的配置,即$PATH部分,避免覆盖原来配置
<a name="jm0hr"></a>
#### vim ~/.bashrc
vim ~/.bashrc
在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
- 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bashrc生效
- 生效期限:永久有效
- 生效范围:仅对当前用户有效
- 如果有后续的环境变量加载文件覆盖了PATH定义,则可能不生效
<a name="m4ggA"></a>
#### vim ~/.bash_profile
vim ~/.bash_profile
在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
- 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bash_profile生效
- 生效期限:永久有效
- 生效范围:仅对当前用户有效
- 如果没有~/.bash_profile文件,则可以编辑~/.profile文件或者新建一个
<a name="XFQLh"></a>
#### vim /etc/bashrc
该方法是修改系统配置,需要管理员权限(如root)或者对该文件的写入权限:
如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/bashrc
vim /etc/bashrc
在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
- 生效时间:新开终端生效,或者手动source /etc/bashrc生效
- 生效期限:永久有效
- 生效范围:对所有用户有效
<a name="eqGLi"></a>
#### vim /etc/profile
该方法修改系统配置,需要管理员权限或者对该文件的写入权限,和vim /etc/bashrc类似:
如果/etc/profile文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/profile
vim /etc/profile
在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
- 生效时间:新开终端生效,或者手动source /etc/profile生效
- 生效期限:永久有效
- 生效范围:对所有用户有效
<a name="kc1iV"></a>
#### vim /etc/environment
该方法是修改系统环境配置文件,需要管理员权限或者对该文件的写入权限:
如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/environment
vim /etc/profile
在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin ``` 注意事项:
- 生效时间:新开终端生效,或者手动source /etc/environment生效
- 生效期限:永久有效
- 生效范围:对所有用户有效
