在 Debian 中设置环境变量(env)有多种方式,取决于你是临时设置、用户级设置还是系统级设置。下面按常见场景分类说明。
exportexport VAR_NAME=value
示例:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
查看:
echo $JAVA_HOME
✅ 关闭终端后失效
~/.bashrc(推荐,交互式 shell)nano ~/.bashrc
添加:
export VAR_NAME=value
使生效:
source ~/.bashrc
✅ 适用于终端、脚本等 bash 会话
~/.profile(登录 shell)nano ~/.profile
添加:
export VAR_NAME=value
适用场景:
~/.bash_profile(若存在)nano ~/.bash_profile
注意:
Debian 默认优先读取.bash_profile,若不存在则读.profile
/etc/environment(推荐)sudo nano /etc/environment
格式(不能写 export):
VAR_NAME=value
示例:
JAVA_HOME=/usr/lib/jvm/java-17-openjdk
✅ 重启生效
✅ 对所有用户生效
❌ 不支持变量扩展(如 $PATH)
/etc/profile.d/ 下新建脚本(推荐)sudo nano /etc/profile.d/myenv.sh
内容:
export VAR_NAME=value
权限:
sudo chmod +x /etc/profile.d/myenv.sh
✅ 登录时自动加载
✅ 清晰、安全、易维护
VAR_NAME=value command
示例:
JAVA_HOME=/opt/java java -version
✅ 只对该命令生效
export PATH=$PATH:/your/path
永久生效(示例):
echo 'export PATH=$PATH:/opt/myapp/bin' >> ~/.bashrc
env
printenv
echo $VAR_NAME
| 场景 | 推荐方式 |
|---|---|
| 临时测试 | export |
| 普通用户 | ~/.bashrc |
| 登录级 | ~/.profile |
| 系统全局 | /etc/environment 或 /etc/profile.d/ |
| 服务环境变量 | systemd service 文件 |
如果你有具体场景(如 Java、Python、Docker、systemd 服务、cron 任务),可以告诉我,我可以给你更精确的配置示例。