在 CentOS 中配置环境变量(如 PATH、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
配置方式同上,但只在登录时加载一次。
配置文件:
/etc/profile
或(更推荐):
/etc/profile.d/xxx.sh
sudo vi /etc/profile.d/java.sh
内容:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
赋予执行权限(可选):
sudo chmod +x /etc/profile.d/java.sh
重新登录或执行:
source /etc/profile
✅ 优点:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
验证:
java -version
export MAVEN_HOME=/opt/maven
export PATH=$MAVEN_HOME/bin:$PATH
echo $PATH
echo $JAVA_HOME
env
不要覆盖 PATH ❌ 错误:
export PATH=/new/path
✅ 正确:
export PATH=/new/path:$PATH
CentOS 7 默认 shell 是 bash
.bashrc:非登录 shell.bash_profile:登录 shell修改后不生效?
source 配置文件
或重新登录
| 作用范围 | 配置文件 | 是否推荐 |
|---|---|---|
| 当前终端 | export 命令 | ❌ |
| 当前用户 | ~/.bashrc |
✅ |
| 所有用户 | /etc/profile.d/*.sh |
✅✅✅ |
如果你有具体场景(如 Java / Python / Docker / 自定义命令),可以告诉我,我可以给你一份可直接复制的配置模板。