web-dev-qa-db-ja.com

envファイルから環境変数を読み取ってコマンドを実行するユーティリティはありますか(foremanより軽量)?

foreman .envファイルを読み取り、コンテンツから環境変数を設定して、プログラムを実行できます

例えばforeman run -e vars.env myprogram

...しかし、それは他の多くのことを行います(そして主にそのProcfile形式を使用して開始することに関係しています)。

.envファイルの読み取りと新しい環境でのコマンドの実行に焦点を当てた、より単純な(Linux/Unix)ツールはありますか?

環境ファイルの例( http://ddollar.github.io/foreman/#ENVIRONMENT から):

FOO=bar
BAZ=qux
16
wodow

アクティブなシェルで環境ファイルを入手して、プログラムを実行できます。

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

-aスイッチは、すべての変数をエクスポートして、プログラムで使用できるようにします。

19
Marco

私は試した source .envそしてそれは魅力のように働きました。残念ながら、ここに掲載されている他の解決策はどれも私にとってうまくいきませんでした。

2
Shouvik

別の選択肢はenvdirです:

envdirは、指定されたディレクトリ内のファイルに従って環境が変更された別のプログラムを実行します。

2
wodow

これは機能します:

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

しかし、明らかに.envファイルの形式が正しいかどうかはチェックされません。これはユーティリティプログラムが行うことです。

0
wodow