dmitriylanets
@dmitriylanets
веб-разработчик

Как установить глобальные переменные?

файл .env содержит переменную окружения(одну для примера):
HOST=localhost:3336
скрипт set_env.sh "должен" делать переменные глобальными:
#!/bin/bash
source .env && export $(cut -d= -f1 .env)

но при выполнении команды
$ ./set_env.sh
$ echo $HOST
ничего не выводится, вопрос, как установить глобальную переменную?
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
sim3x
@sim3x
$ cat env_file

HOST=foo

$ export `cat env_file`
or
$ env `cat env_file`
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@RPG
Только так:
source .env
echo $HOST

Это можно в .bashrc забросить, например. Зависит от задачи. export будет работать внутри шелла, у вас не работает так как внутри запускается ещё один bash и там уже устанавливается переменная. Повлиять на окружение родительского процесса (или какого-то другого процесса) нельзя.
Кроме того, не рекомендую использовать уже существующую переменную ($HOST содержит имя текущего хоста).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы