常用命令

  1. env
  2. // 查看单个环境变量
  3. echo $JAVA_HOME
  4. // 写入环境变量
  5. export JAVA_HOME=/home/java
  6. // 添加
  7. export JAVA_HOME=$JAVA_HOME:/home/java //多个文件用冒号隔开即可
  8. 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加载环境变量的顺序如下:

  1. /etc/environment
  2. /etc/profile
  3. /etc/bash.bashrc
  4. /etc/profile.d/test.sh
  5. ~/.profile
  6. ~/.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生效
  • 生效期限:永久有效
  • 生效范围:对所有用户有效

引用

https://www.cnblogs.com/niuben/p/14049694.html