Назад | Перейти на главную страницу

Есть ли утилита для чтения переменных среды из файла env и последующего запуска команды (более легкая, чем у мастера)?

foreman может читать файлы .env и устанавливать переменные среды из содержимого, а затем запускать программу

например foreman run -e vars.env myprogram

... но он делает много других вещей (и в первую очередь касается запуска вещей с использованием своего формата Procfile).

Есть ли более простой инструмент (Linux / Unix), который просто предназначен для чтения файлов .env и выполнения команды в новой среде?

Пример файла среды (из http://ddollar.github.io/foreman/#ENVIRONMENT ):

FOO=bar
BAZ=qux

Вы можете создать файл среды в активной оболочке и запустить программу:

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

В -a switch экспортирует все переменные, чтобы они были доступны программе.

Я попытался source .env и это сработало как шарм. К сожалению, ни одно из других решений, размещенных здесь, не помогло мне.

Другая альтернатива - envdir:

envdir запускает другую программу с измененной средой в соответствии с файлами в указанном каталоге.

Это работает:

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

но, очевидно, не проверяет формат .env файл для правильности, что могла бы сделать служебная программа.