在 CentOS 中修改 环境变量(env),常见有几种方式,取决于你是临时生效还是永久生效,以及是针对当前用户还是所有用户。下面按场景说明。
直接在终端执行:
export VAR_NAME=value
例如:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
✅ 立即生效
❌ 关闭终端后失效
查看:
echo $JAVA_HOME
env
编辑用户环境变量文件:
vi ~/.bashrc
或(登录 shell):
vi ~/.bash_profile
添加:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
使其生效:
source ~/.bashrc
✅ 只对当前用户生效
✅ 重启或重新登录仍有效
编辑系统级环境变量文件:
sudo vi /etc/profile
或(推荐,更规范):
sudo vi /etc/profile.d/myenv.sh
内容示例:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
赋予执行权限(可选但推荐):
sudo chmod +x /etc/profile.d/myenv.sh
使其生效:
source /etc/profile
✅ 所有用户生效
如果是 systemd 服务 使用环境变量:
sudo vi /etc/systemd/system/myapp.service
在 [Service] 中:
Environment="JAVA_HOME=/usr/local/java"
Environment="PATH=/usr/local/java/bin:/usr/bin:/bin"
重载:
sudo systemctl daemon-reload
env
printenv
echo $VAR_NAME
unset VAR_NAME
export PATH=/usr/local/bin:$PATH
export LANG=en_US.UTF-8
export JAVA_HOME=/usr/lib/jvm/java-11
export PS1="[\u@\h \W]\$ "
| 版本 | 说明 |
|---|---|
| CentOS 6 | 使用 /etc/profile |
| CentOS 7 | systemd,推荐 /etc/profile.d/*.sh |
| CentOS 8 | 同 7,已停止维护 |
| 需求 | 方式 |
|---|---|
| 临时测试 | export VAR=value |
| 当前用户 | ~/.bashrc |
| 所有用户 | /etc/profile.d/*.sh |
| 服务环境 | systemd Environment |
如果你能说明 具体要改哪个环境变量(如 PATH、JAVA_HOME、LANG 等),我可以给你更精确的示例。