foreman
pode ler arquivos .env e definir variáveis de ambiente a partir do conteúdo e, em seguida, executar um programa
por exemplo foreman run -e vars.env myprogram
... mas ele faz muitas outras coisas (e se preocupa principalmente em iniciar as coisas usando o formato Procfile).
Existe uma ferramenta mais simples (Linux / Unix) focada apenas na leitura de arquivos .env e na execução de um comando com o novo ambiente?
Arquivo de ambiente de exemplo (de http://ddollar.github.io/foreman/#ENVIRONMENT ):
FOO=bar
BAZ=qux
linux
unix
environment-variables
wodow
fonte
fonte
bash .env
oush .env
posso funcionar?Respostas:
Você pode originar o arquivo de ambiente no shell ativo e executar o programa:
O
-a
switch exporta todas as variáveis, para que elas estejam disponíveis para o programa.fonte
bash -ac 'source .env && ./program'
Outra alternativa é
envdir
:fonte
envdir
,runit
echpst
; ou seja, a capacidade de alterar ambientes refletem no estado do processo que está sendo executado. A postagem é sobre docker, mas não se limita ao docker. blog.ghaering.de/post/docker-as-vm [archive.org: web.archive.org/web/20190321165332/https://blog.ghaering.de/… ]Eu tentei
source .env
e funcionou como um encanto. Infelizmente, nenhuma das outras soluções postadas aqui funcionou para mim.fonte
Isso funciona:
mas obviamente não verifica se o formato do
.env
arquivo está correto, o que um programa utilitário faria.fonte
cat
é necessário, basta escrevertr "\\n" " " < .env
2) Isso interrompe se forem utilizadas atribuições de várias linhas.