Задать вопрос
dmitriylanets
@dmitriylanets
веб-разработчик

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

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

но при выполнении команды
$ ./set_env.sh
$ echo $HOST
ничего не выводится, вопрос, как установить глобальную переменную?
  • Вопрос задан
  • 218 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик буткемп
    4 месяца
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
Решения вопроса 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 содержит имя текущего хоста).
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы