Czy ktoś może mi powiedzieć, jaki jest prawidłowy sposób ustawienia zestawu zmiennych środowiskowych w skorupie ryby?
W moim pliku .config / fish / config.fish mam funkcję ustawiania moich zmiennych środowiskowych w ten sposób
function setTESTENV
set -x BROKER_IP '10.14.16.216'
set -x USERNAME 'foo'
set -x USERPASS 'bar'
end
kiedy piszę w wierszu poleceń setTESTENV
i robię env
w wierszu poleceń, nie widzę tych informacji.
fishd.MACHINE_ID
, ale zamiast tego zostały zapisane~/.config/fish/fish_variables
~/.config/fish/fish_variables
na ubuntu 20.04inną opcją jest uruchomienie:
export (cat env_file.txt |xargs -L 1)
gdzie env_file.txt zawiera wiersze formatu
VAR=VALUE
ma to tę zaletę, że utrzymuje zmienne w formacie obsługiwanym przez inne powłoki i narzędzia
źródło
export (grep "^[^#]" .env |xargs -L 1)
Zmienne środowiskowe u ryb
Chciałbym dodać, że o ile odpowiedź @ JosEduSol nie jest błędna i pomaga rozwiązać problem OP,
-g
to tylko ustawia zakres na globalny,-x
powodując eksport określonej zmiennej środowiskowej do procesów potomnych.Przyczyną niepowodzenia powyższego jest to, że @cfpete ustawia zmienne env wewnątrz funkcji, a domyślny zakres będzie lokalny dla tej funkcji.
źródło