Может кто-нибудь подскажите, пожалуйста, как правильно установить кучу переменных окружения в рыбной оболочке?
В моем файле .config / fish / config.fish у меня есть функция для настройки переменных среды, например
function setTESTENV
set -x BROKER_IP '10.14.16.216'
set -x USERNAME 'foo'
set -x USERPASS 'bar'
end
когда я набираю текст из командной строки setTESTENV
и выполняю env
команду в командной строке, я не вижу этой информации.
fishd.MACHINE_ID
, а вместо этого были сохранены в~/.config/fish/fish_variables
~/.config/fish/fish_variables
ubuntu 20.04другой вариант - запустить:
export (cat env_file.txt |xargs -L 1)
где env_file.txt содержит строки формата
VAR=VALUE
это дает преимущество сохранения переменных в формате, поддерживаемом другими оболочками и инструментами.
источник
export (grep "^[^#]" .env |xargs -L 1)
Переменные среды в Fish
Я хотел бы добавить, что, хотя ответ @JosEduSol не является неправильным и помогает решить проблему OP,
-g
устанавливает только глобальную область видимости, в то время как-x
вызывая экспорт указанной переменной среды в дочерние процессы.Причина, по которой вышеуказанное не удается, заключается в том, что @cfpete устанавливает переменные env внутри функции, и область действия по умолчанию будет локальной для этой функции.
источник