是否有一个实用程序可以从 env 文件中读取环境变量,然后运行命令(比 foreman 更轻量)?

是否有一个实用程序可以从 env 文件中读取环境变量,然后运行命令(比 foreman 更轻量)?

foreman可以读取 .env 文件并从内容中设置环境变量,然后运行程序

例如foreman run -e vars.env myprogram

...但它做了很多其他的事情(并且主要关注使用其 Procfile 格式启动事物)。

是否有一个更简单的(Linux / Unix)工具,只专注于读取.env 文件并使用新环境执行命令?

示例环境文件(来自http://ddollar.github.io/foreman/#ENVIRONMENT):

FOO=bar
BAZ=qux

答案1

您可以在活动 shell 中获取环境文件并运行该程序:

sh -ac ' . ./.env; /usr/local/bin/someprogram'

开关-a导出所有变量,以便程序可以使用它们。

答案2

另一种选择是envdir

envdir 运行另一个程序,其环境根据指定目录中的文件进行修改。

答案3

我试过了source .env,效果很好。不幸的是,这里发布的其他解决方案对我都不起作用。

答案4

这有效:

env $(cat .env | tr "\\n" " ") myprogram

但显然不会检查.env文件格式的正确性,而实用程序会这样做。

相关内容