foreman
может читать файлы .env и устанавливать переменные окружения из содержимого, а затем запускать программу
например foreman run -e vars.env myprogram
... но он делает много других вещей (и в первую очередь касается запуска с использованием формата Procfile).
Есть ли более простой (Linux / Unix) инструмент, который просто фокусируется на чтении файлов .env и выполнении команды в новой среде?
Пример файла среды (из http://ddollar.github.io/foreman/#ENVIRONMENT ):
FOO=bar
BAZ=qux
bash .env
илиsh .env
может работать?Ответы:
Вы можете получить исходный файл среды в активной оболочке и запустить программу:
-a
Переключатель экспортирует все переменные, так что они будут доступны для программы.источник
bash -ac 'source .env && ./program'
Другая альтернатива
envdir
:источник
envdir
,runit
иchpst
; а именно способность изменять env, зависит от состояния выполняемого процесса. Пост о докере, но не ограничивается докером. blog.ghaering.de/post/docker-as-vm [archive.org: web.archive.org/web/20190321165332/https://blog.ghaering.de/… ]Я пытался,
source .env
и это сработало как шарм. К сожалению, ни одно из других решений, опубликованных здесь, не помогло мне.источник
Это работает:
но, очевидно, не проверяет формат
.env
файла на корректность, что может сделать служебная программа.источник
cat
Нет необходимости, просто напишитеtr "\\n" " " < .env
2) Это прерывается, если используются многострочные назначения.