экспорт переменной среды с помощью .sh файл

таким образом, я имею, создают setup.sh файл как это:

#!/bin/bash
export SP_TWITTER_KEY=adsfad
export SP_TWITTER_SECRET=aadsfadsf
export SP_TWITTER_ACCESSTOKEN=asdfasdfa
export SP_TWITTER_ACCESSSECRET=asdfasdfas

export mongo_connection=localhost

и после этого я выполняю эту команду для превращения файла, чтобы быть исполняемым файлом:

$ chmod +x setup.sh

наконец выполните файл так, чтобы весь мой ENV varible был экспортирован. Я попробовал несколько путей как это:

$ . /setup.sh
$ .setup.sh
$ bash setup.sh

Но ни один из них не работает, потому что я проверяю снова переменную как mongo_connection и другие все еще пусты. Какая-либо идея что случилось или я пропускаю что-то?

ПРИМЕЧАНИЕ: я использую tmux для выполнения моего терминала оболочки

0
задан 21 May 2017 в 02:07

1 ответ

Без любого изменения в Ваш сценарий можно просто выполнить в подобном это:

. setup.sh

или

source setup.sh

это заставит Ваши переменные быть установленными в текущей оболочке, иначе колотят, откроет неинтерактивную оболочку, выполняет Вашу команду в это и после того, как это - конец, это закрывает ту оболочку.

для большего количества объяснения, help source:

источник: исходное ИМЯ ФАЙЛА
Выполняет команды из файла в текущей оболочке.
Read и выполняют команды от ИМЕНИ ФАЙЛА в текущей оболочке.

3
ответ дан 3 November 2019 в 05:22

Другие вопросы по тегам:

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