在 CentOS 中,“永久设置环境变量(env)”通常指系统重启或重新登录后依然生效。不同场景方法不同,下面按使用范围和CentOS 版本说明。
适用于:只给 root 或某个普通用户设置
编辑(不存在就新建):
vi ~/.bash_profile
或
vi ~/.bashrc
添加:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bash_profile
✅ 登录该用户后永久生效
适用于:所有用户都需要的环境变量
vi /etc/profile
在末尾添加:
export MY_ENV=test
export PATH=/opt/app/bin:$PATH
生效:
source /etc/profile
在 /etc/profile.d/ 下新建脚本:
vi /etc/profile.d/myenv.sh
内容:
#!/bin/bash
export APP_HOME=/opt/app
export PATH=$APP_HOME/bin:$PATH
赋权:
chmod +x /etc/profile.d/myenv.sh
✅ 系统启动或用户登录自动加载
如果是服务进程需要环境变量(如 Java 服务):
systemctl edit myapp.service
添加:
[Service]
Environment=JAVA_HOME=/usr/local/java
Environment=PATH=/usr/local/java/bin:/usr/bin:/bin
| 类型 | 命令 | 是否永久 |
|---|---|---|
| 临时 | export VAR=value |
❌ 重启失效 |
| 永久 | 写文件 | ✅ |
source 只对当前 shell 有效/etc/profile(看是否 .bashrc)如果你能告诉我:
我可以直接给你最合适的一行配置。