首页/发现新知
视界 · 深度阅读

centos env怎么加载文件

在 CentOS(以及大多数 Linux 发行版)里,env 本身不是一个“加载文件”的命令,而是用来查看或设置环境变量的。
你可能是想问以下几种常见情况之一,我分别说明:


1️⃣ 用 env 加载并运行某个脚本/命令(临时环境变量)

env FILE=/tmp/test.txt sh test.sh

意思是:

  • 临时设置环境变量 FILE=/tmp/test.txt
  • 然后执行 test.sh

⚠️ 只在当前命令生效,不影响当前 shell。


2️⃣ 加载环境配置文件(最常见)

✅ 使用 source(推荐)

source /path/to/envfile

或简写:

. /path/to/envfile

示例 envfile 内容:

export JAVA_HOME=/usr/java
export PATH=$PATH:$JAVA_HOME/bin

✅ 当前 shell 立即生效
✅ 常用于:

  • .bashrc
  • .bash_profile
  • 自定义 env 文件

3️⃣ 登录时自动加载(CentOS 用户环境)

用户级

vi ~/.bashrc

末尾加:

source /path/to/envfile

然后:

source ~/.bashrc

系统级(所有用户)

vi /etc/profile.d/myenv.sh

内容示例:

export MY_VAR=hello

重启或重新登录后生效。


4️⃣ 在 systemd 服务中加载 env 文件

CentOS 7+ 常用:

[Service]
EnvironmentFile=/etc/sysconfig/myapp
ExecStart=/usr/bin/myapp

5️⃣ Docker / 容器场景(补充)

env $(cat .env | xargs) python app.py

✅ 总结

目的 命令
当前 shell 加载 source file
临时运行命令 env K=V command
开机自动 /etc/profile.d/
服务加载 EnvironmentFile

如果你能说清楚:

  • 是 shell / 服务 / Docker / crontab
  • 是 用户级还是系统级

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

读到这里,发现更多一点。探索更多内容 ↗