Гость
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Не устанавливаются переменные через скрипт / 6 сообщений из 6, страница 1 из 1
06.02.2020, 21:41
    #39923668
mibin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не устанавливаются переменные через скрипт
Всем привет.

На CentOS 8 создал sh скрипт:

Код: powershell
1.
2.
echo "Config var"
export DMM_VAR="MY_TEST_VALUE"



если выполняю всё через консоль, то всё нормально работает, если выполняю через скрипт, то сообщение "Config var" вижу, но при этом echo $DMM_VAR ничего не выводит и в printenv соответственно нет такой переменной.

Код: plaintext
1.
2.
3.
4.
5.
[usver@compukter scripts]$ ./example.sh
Config var
[usver@compukter scripts]$ echo $DMM_TEST

[usver@compukter scripts]$ 


Чё за фигня, подскажите, пожалуйста...
...
Рейтинг: 0 / 0
06.02.2020, 21:54
    #39923674
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не устанавливаются переменные через скрипт
Попробуй
Код: plsql
1.
 . ./example.sh
...
Рейтинг: 0 / 0
06.02.2020, 21:57
    #39923676
mibin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не устанавливаются переменные через скрипт
landy
Попробуй
Код: plsql
1.
 . ./example.sh



Эм...сработало...а в чём прикол? Это что за магию сделала точка?
...
Рейтинг: 0 / 0
06.02.2020, 22:11
    #39923685
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не устанавливаются переменные через скрипт
mibin,

. это синоним source
т е
Код: plsql
1.
. ./example.sh и  source ./example.sh


одно и то же

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

Гугли source bash
...
Рейтинг: 0 / 0
06.02.2020, 22:22
    #39923688
mibin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не устанавливаются переменные через скрипт
landy
mibin,

. это синоним source
т е
Код: plsql
1.
. ./example.sh и  source ./example.sh


одно и то же

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

Гугли source bash


Т.е. я уставливал переменные окружения только для скрипта получается?
...
Рейтинг: 0 / 0
07.02.2020, 12:02
    #39923854
bga83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не устанавливаются переменные через скрипт
mibin
landy
mibin,

. это синоним source
т е
Код: plsql
1.
. ./example.sh и  source ./example.sh



одно и то же

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

Гугли source bash


Т.е. я уставливал переменные окружения только для скрипта получается?
да
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Не устанавливаются переменные через скрипт / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]