环境变量配置文件
用户 环境变量配置文件
所有用户
  • /etc/profile
  • /etc/bashrc
  • /etc/environment
root
  • ~/.bashrc
  • ~/.bash-profile
非root用户 /home/非root用户名/.bashrc

 

更新环境变量

source /etc/profile
or
. /etc/profile 

 

环境变量配置方式

Linux读取环境变量

读取系统已有环境变量的方法

 export 显示当前系统定义的所有环境变量

 echo $PATH  输出当前的PATH环境变量的值

Linux - 配置环境变量的几种方式_Linux教程

 PATH 变量定义的是运行命令的查找路径,以冒号  分割不同的路径

 

方式一: export PATH 

export PATH=/usr/local/src/python3/bin:$PATH

# 或者把PATH放在前面
export PATH=$PATH:/usr/local/src/python3/bin

 注意点

  • 生效时间:立即生效
  • 生效期限:当前打开的终端有效,窗口关闭后无效
  • 生效范围:当前登录用户
  • 需要加上$PATH,否则会覆盖原有路径

 

方式二: vim ~/.bashrc 

vim ~/.bashrc

# 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin

注意点

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bashrc 生效
  • 生效期限:永久有效
  • 生效范围:当前登录用户
  • 可能会被后续的环境变量文件覆盖了PATH的值

 

方式三: vim ~/.bash_profile 

vim ~/.bash_profile

# 在最后一行加上
export PATH=$PATH:/usr/local/src/python3/bin

注意点

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bash_profile 生效
  • 生效期限:永久有效
  • 生效范围:当前登录用户
  • 如果没有 ~/.bash_profile 文件,则可以编辑 ~/.profile 文件或者新建一个

 

方式四: vim /etc/bashrc 

# 如果/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 

# 如果/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(centos7 无)
  • /home/非root用户名/.bashrc 

 

系统级别环境变量配置文件: 

  • /etc/bashrc 
  • /etc/profile 
  • /etc/bash_profile(centos7 无)
  • /etc/environment 

 

环境变量加载顺序

  1. /etc/environment
  2. /etc/profile
  3. /etc/bashrc
  4. ~/.profile
  5. ~/.bashrc