在 运行 进程中使用 envdir 设置环境变量

Use envdir to set environment variables in running process

我有一个目录,其中包含包含环境变量的文件列表;例如,名为 REALM 的文件包含内容 "dev",名为 TZ 的文件包含内容 "UTC",等等

我想在当前进程环境中设置这些,例如作为 .bash_profile 的一部分。存在执行此操作的工具 - envdir - 但是通常在启动子流程时使用。

有什么好的方法吗?目前我正在检查它们是否设置在 .bash_profile 中,如果未设置则调用 exec envdir /path/to/env bash,尽管这看起来很老套并且有递归循环的风险。

啊哈,只需评估 运行 env.

的结果
eval "$(env -i envdir /etc/meter-environment.d env)"