在 Debian(以及大多数 Linux 发行版)中,“导出环境变量”通常指 查看、设置或持久化环境变量。下面按常见场景给你一个完整说明。
env
或
printenv
echo $PATH
printenv PATH
export MY_VAR="hello"
echo $MY_VAR
⚠️ 关闭终端或重新登录后失效
MY_VAR="hello"
export MY_VAR
bash -c 'echo $MY_VAR'
如果输出为空,说明没有导出成功。
编辑:
nano ~/.bashrc
添加:
export MY_VAR="hello"
生效:
source ~/.bashrc
如果是 zsh,请改
~/.zshrc
nano ~/.profile
添加:
export MY_VAR="hello"
sudo nano /etc/environment
格式(不能写 export):
MY_VAR="hello"
重启或重新登录生效。
sudo nano /etc/profile.d/myenv.sh
内容:
export MY_VAR="hello"
权限:
sudo chmod +x /etc/profile.d/myenv.sh
[Service]
Environment="MY_VAR=hello"
[Service]
EnvironmentFile=/etc/myenv.conf
/etc/myenv.conf 内容:
MY_VAR=hello
重载:
sudo systemctl daemon-reload
sudo systemctl restart your_service
set -a
source .env
set +a
.env 示例:
DB_HOST=localhost
DB_USER=root
❌ 在 /etc/environment 里写 export
✅ 直接写 KEY=value
❌ 在脚本里 export 后希望影响父 shell
✅ 用 source script.sh 而不是 ./script.sh
| 场景 | 方法 |
|---|---|
| 临时 | export VAR=value |
| 当前用户 | ~/.bashrc |
| 所有用户 | /etc/environment |
| 服务 | systemd Environment |
| 批量 | .env + source |
如果你能说明 具体用途(比如:Docker、systemd、cron、Python、Java),我可以给你更精确的示例。