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
файл для правильности, что могла бы сделать служебная программа.