在 CentOS 中,“env(环境变量)”要永久保存,取决于你想对谁生效、在什么场景生效。下面按常见情况给你说明。
vi ~/.bash_profile
# 或
vi ~/.bashrc
添加环境变量,例如:
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
保存后执行:
source ~/.bash_profile
✅ 登录该用户后永久生效
✅ 适合普通用户
vi /etc/profile
在文件末尾添加:
export MY_ENV=test
export PATH=$PATH:/opt/app/bin
保存后:
source /etc/profile
✅ 对所有用户生效
⚠ 需要 root 权限
/etc/profile.d/ 下新建脚本(更规范)vi /etc/profile.d/myenv.sh
内容:
#!/bin/bash
export APP_HOME=/opt/app
export PATH=$PATH:$APP_HOME/bin
赋予执行权限:
chmod +x /etc/profile.d/myenv.sh
✅ 系统推荐方式
✅ 方便管理、卸载
如果是 服务程序,不是登录 shell:
systemctl edit myservice
添加:
[Service]
Environment=ENV_NAME=value
或写文件:
vi /etc/sysconfig/myservice
ENV_NAME=value
✅ 只对服务生效
✅ 不影响 shell
export NAME=value
❌ 重启或退出 shell 后失效
修改后不生效
source 了文件cron / 脚本不读 profile
source| 场景 | 推荐方式 |
|---|---|
| 个人用户 | ~/.bashrc |
| 所有用户 | /etc/profile.d/*.sh |
| 系统服务 | systemctl edit |
如果你能告诉我 具体要保存什么变量 / 给谁用,我可以直接帮你写一份配置。