foreman
potrafi odczytać pliki .env i ustawić zmienne środowiskowe z zawartości, a następnie uruchomić program
na przykład foreman run -e vars.env myprogram
... ale robi wiele innych rzeczy (i przede wszystkim zajmuje się uruchamianiem rzeczy w formacie Procfile).
Czy istnieje prostsze narzędzie (Linux / Unix), które koncentruje się tylko na czytaniu plików .env i wykonywaniu poleceń w nowym środowisku?
Przykładowy plik środowiska (z http://ddollar.github.io/foreman/#ENVIRONMENT ):
FOO=bar
BAZ=qux
linux
unix
environment-variables
wodow
źródło
źródło
bash .env
czy mogęsh .env
pracować?Odpowiedzi:
Możesz pobrać plik środowiska w aktywnej powłoce i uruchomić program:
-a
Przełącznik eksportuje wszystkie zmienne, dzięki czemu są one dostępne w programie.źródło
bash -ac 'source .env && ./program'
Inną alternatywą jest
envdir
:źródło
envdir
,runit
orazchpst
; mianowicie zdolność do zmiany zmiennych środowiska odzwierciedlają stan uruchomionego procesu. Post dotyczy dokera, ale nie ogranicza się do dokera. blog.ghaering.de/post/docker-as-vm [archive.org: web.archive.org/web/20190321165332/https://blog.ghaering.de/… ]Próbowałem
source .env
i zadziałało to jak urok. Niestety żadne z innych opublikowanych tutaj rozwiązań nie działało dla mnie.źródło
To działa:
ale oczywiście nie sprawdza
.env
poprawności formatu pliku, co zrobiłby program narzędziowy.źródło
cat
nie jest konieczne, po prostu napisztr "\\n" " " < .env
2) Dzieje się tak, jeśli używane są przypisania wieloliniowe.