在 Debian 里,“env(环境变量)”想永久保存,本质是:把变量写进某个启动时会读取的配置文件里。不同场景写法不一样,下面按「用户级 / 系统级 / 服务级」给你一个清晰对照。
编辑用户家目录文件:
nano ~/.bashrc
末尾加:
export MY_VAR="value"
生效:
source ~/.bashrc
✅ 适合:命令行、脚本、交互终端
nano ~/.profile
加:
export MY_VAR="value"
✅ 适合:SSH 登录、图形登录
sudo nano /etc/environment
写法(不要写 export):
MY_VAR="value"
重启或重新登录后生效
✅ 适合:所有用户、所有进程(包括非 shell)
sudo nano /etc/profile
或
sudo nano /etc/bash.bashrc
export MY_VAR="value"
⚠️ /etc/environment 对 systemd 服务不一定生效
sudo systemctl edit your.service
加:
[Service]
Environment=MY_VAR=value
sudo systemctl daemon-reload
sudo systemctl restart your.service
sudo nano /etc/myenv.conf
MY_VAR=value
service 中:
EnvironmentFile=/etc/myenv.conf
| 场景 | 命令 / 文件 |
|---|---|
| 临时 | export VAR=val |
| 当前用户 | ~/.bashrc |
| 登录用户 | ~/.profile |
| 所有用户 | /etc/environment |
| systemd | service Environment |
echo $MY_VAR
env | grep MY_VAR
如果 systemd 不生效:
systemctl show -p Environment your.service
如果你能说清楚:
我可以直接给你最合适的一行配置。