在 CentOS 里,环境变量可以出现在多个地方,具体要看你是想查看、临时设置还是永久生效。下面按常见情况给你一个清晰说明(适用于 CentOS 7 / 8 / Stream)。
env
# 或
printenv
echo $PATH
echo $HOME
echo $JAVA_HOME
export VAR_NAME=value
示例:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
⚠️ 关闭终端后失效
~/.bashrc
编辑:
vi ~/.bashrc
添加:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bashrc
~/.bash_profile
一般建议:
- 交互式 shell →
~/.bashrc- 登录 shell →
~/.bash_profile
/etc/profile
或(更推荐,CentOS 7+):
/etc/profile.d/xxx.sh
示例:
sudo vi /etc/profile.d/java.sh
内容:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
✅ 好处:
登录时大致顺序:
/etc/profile
└── /etc/profile.d/*.sh
~/.bash_profile
└── ~/.bashrc
└── /etc/bashrc
| Shell | 配置文件 |
|---|---|
| bash | ~/.bashrc / ~/.bash_profile |
| zsh | ~/.zshrc |
| sh | ~/.profile |
| 目的 | 位置 |
|---|---|
| 临时变量 | export |
| 当前用户 | ~/.bashrc |
| 登录用户 | ~/.bash_profile |
| 所有用户 | /etc/profile |
| 推荐系统级 | /etc/profile.d/*.sh |
如果你愿意,可以告诉我:
JAVA_HOME、PATH、LANG)我可以直接给你一份可直接复制的配置。