温馨提示×

centos env如何加载文件

小樊
46
2026-10-15 01:00:49
栏目: 智能运维

在 CentOS(以及大多数 Linux 系统)中,“env 加载文件”通常有以下几种常见场景。我按最常见用法给你说明:


一、使用 env 命令加载环境变量文件并执行命令

如果你的环境变量写在一个文件里(例如 env.sh):

# env.sh 内容示例
export API_URL=http://localhost
export DEBUG=1

方式 1:set -a + source(推荐)

set -a
source ./env.sh
set +a
command_to_run

方式 2:用 env 读取文件(需要 env 支持 -f,CentOS 默认 GNU coreutils 支持)

env -i -f ./env.sh command_to_run

⚠️ 注意:

  • -i 会清空原有环境变量
  • 不加 -i 则继承当前环境

二、Shell 启动时自动加载文件(登录 / 非登录)

1️⃣ 所有用户生效

/etc/profile
/etc/profile.d/*.sh

2️⃣ 当前用户生效

~/.bash_profile
~/.bashrc

修改后加载:

source ~/.bashrc

三、systemd 服务中加载 env 文件

如果是 CentOS 7+(systemd):

[Service]
EnvironmentFile=/path/to/envfile
ExecStart=/usr/bin/myapp

env 文件格式:

API_URL=http://localhost
DEBUG=1

重新加载:

systemctl daemon-reload
systemctl restart myapp

四、Docker / 容器场景(常见)

docker run --env-file ./env.list myimage

五、常见错误

❌ 直接执行 env 文件

./env.sh   # 子 shell,不生效

✅ 应该用

source env.sh
# 或
. env.sh

如果你能具体说一下:

  • 是 shell 脚本 / systemd / Docker / crontab?
  • env 文件格式是怎样的?

我可以给你更精确的命令。

0 踩