在 CentOS(以及大多数 Linux 系统)中,“env 加载文件”通常有以下几种常见场景。我按最常见用法给你说明:
env 命令加载环境变量文件并执行命令如果你的环境变量写在一个文件里(例如 env.sh):
# env.sh 内容示例
export API_URL=http://localhost
export DEBUG=1
set -a + source(推荐)set -a
source ./env.sh
set +a
command_to_run
env 读取文件(需要 env 支持 -f,CentOS 默认 GNU coreutils 支持)env -i -f ./env.sh command_to_run
⚠️ 注意:
-i 会清空原有环境变量-i 则继承当前环境/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
修改后加载:
source ~/.bashrc
如果是 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 run --env-file ./env.list myimage
❌ 直接执行 env 文件
./env.sh # 子 shell,不生效
✅ 应该用
source env.sh
# 或
. env.sh
如果你能具体说一下:
我可以给你更精确的命令。