温馨提示×

如何在debian加载env

小樊
49
2026-10-01 21:55:30
栏目: 智能运维

在 Debian 里“加载 env”通常有几种常见场景,下面按最常见用法给你说明。


1️⃣ 临时设置 / 加载环境变量(当前 shell)

export VAR_NAME=value

示例:

export PATH=$PATH:/opt/myapp/bin
export MY_ENV=production

✅ 只对当前终端会话有效,重启或新开 shell 失效。


2️⃣ 从 .env 文件加载环境变量

方法一:source(推荐,简单)

source .env

或简写:

. .env

.env 示例:

DB_HOST=localhost
DB_USER=root
DB_PASS=123456

⚠️ .env 文件不要加 export 也可以(source 时会直接赋值)


方法二:在脚本中使用

#!/bin/bash
set -a
source .env
set +a
  • set -a:自动 export 所有变量
  • 适合在服务启动脚本中使用

3️⃣ 用户级环境变量(永久生效)

编辑:

~/.bashrc
# 或
~/.profile

添加:

export MY_ENV=production
export PATH=$PATH:/opt/myapp/bin

然后:

source ~/.bashrc

✅ 对当前用户所有 shell 生效


4️⃣ 系统级环境变量(所有用户)

sudo nano /etc/environment

内容示例:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
MY_ENV="production"

⚠️ 这里不能用 export

重新登录或重启生效。


5️⃣ systemd 服务加载 env(非常重要)

如果你是服务 / 后台程序:

方法一:在 service 文件中

[Service]
Environment=MY_ENV=production
EnvironmentFile=/etc/myapp/env
ExecStart=/opt/myapp/bin/start

方法二:env 文件

sudo nano /etc/myapp/env
DB_HOST=localhost
DB_USER=root

然后:

sudo systemctl daemon-reload
sudo systemctl restart myapp

6️⃣ 查看当前 env

env
# 或
printenv

查看单个:

echo $MY_ENV

✅ 快速选择指南

场景 推荐方式
临时测试 export
项目 .env source .env
当前用户 ~/.bashrc
所有用户 /etc/environment
后台服务 systemd EnvironmentFile

如果你能说清楚:

  • 是 shell / 脚本 / systemd / Docker / Python
  • 还是 开机自动加载

我可以给你更精确的示例。

0 踩