在 CentOS 系统中,环境变量的优先级从高到低如下:
局部环境变量:在当前 shell 会话中设置的环境变量具有最高的优先级。这些变量仅在当前 shell 会话中有效,关闭会话后失效。
用户级别环境变量:在用户的 ~/.bashrc
、~/.bash_profile
或 ~/.profile
文件中设置的环境变量。这些变量对当前用户的所有终端会话生效。
系统级别环境变量:在 /etc/profile
或 /etc/environment
文件中设置的环境变量。这些变量对系统中的所有用户生效。
默认环境变量:在 /etc/profile.d/
目录下的脚本文件中设置的环境变量。这些变量也对系统中的所有用户生效,但优先级低于 /etc/profile
和 /etc/environment
。
当多个环境变量具有相同的名称时,优先级高的环境变量会覆盖优先级低的环境变量。例如,如果在用户级别和系统级别都设置了 PATH
变量,那么用户级别的 PATH
变量将覆盖系统级别的 PATH
变量。
要查看当前 shell 会话中的环境变量,可以使用 printenv
命令或 echo $VARIABLE_NAME
(将 VARIABLE_NAME
替换为要查看的环境变量名称)。要修改环境变量,可以在相应的配置文件中添加或修改变量设置,并重新加载配置文件或重启终端会话。