在 CentOS 系统中,环境变量的优先级从高到低如下:
当前 shell 的局部变量:这些变量仅在当前 shell 会话中有效,关闭 shell 后将丢失。例如,通过 export VARIABLE=value
命令设置的变量。
当前 shell 的环境变量:这些变量在当前 shell 会话中有效,可以通过 set
命令查看。例如,通过 export VARIABLE=value
命令设置的变量。
用户级别的环境变量:这些变量存储在用户的 ~/.bashrc
、~/.bash_profile
或 ~/.profile
文件中。当用户登录时,这些文件会被读取并设置相应的环境变量。例如,在 ~/.bashrc
文件中添加 export VARIABLE=value
。
系统级别的环境变量:这些变量存储在 /etc/profile
、/etc/bashrc
或 /etc/environment
文件中。这些文件在系统启动时被读取并设置相应的环境变量。例如,在 /etc/profile
文件中添加 export VARIABLE=value
。
默认环境变量:这些变量是由系统或 shell 自动设置的,例如 PATH
、HOME
等。
优先级顺序:局部变量 > 当前 shell 的环境变量 > 用户级别的环境变量 > 系统级别的环境变量 > 默认环境变量。
当多个相同名称的环境变量存在时,优先级高的变量值会覆盖优先级低的变量值。例如,如果在用户级别的环境变量和系统级别的环境变量中都设置了 PATH
变量,那么用户级别的 PATH
变量将覆盖系统级别的 PATH
变量。