Невозможно установить переменную среды с помощью сценария Bash [duplicate]

Этот вопрос уже имеет ответ здесь: в сценарии bash, что означает точка, а затем пробел, а затем путь? 2 ответа Как добавить переменные среды? 5 ответов

Я хочу установить переменную среды из сценария bash, который я написал. Поэтому я создал скрипт bash и назвал его set.sh. Его содержимое выглядит следующим образом:

#!/bin/bash export DEV_SRC="/home/m/mydata/sourecCode" echo $DEV_SRC

Когда я запускаю этот скрипт, вывод будет

/home/m/mydata/sourecCode

. Но если я запустил этот код на том же терминале, что я запустил выше script from,

echo $DEV_SRC

Я не вижу никакого значения, поэтому я думаю, что значение не экспортируется.

Почему значение не экспортируется?

1
задан 27 March 2018 в 22:57

2 ответа

По умолчанию bash создает копию текущей среды, выполняет скрипт в этой среде, а затем уничтожает копию.

Чтобы выполнить скрипт в текущей среде, вы должны использовать этот синтаксис: [ ! d1] . /home/m/mydata/sourecCode echo $DEV_SRC

или

source /home/m/mydata/sourecCode echo $DEV_SRC
5
ответ дан 17 July 2018 в 18:00

По умолчанию bash создает копию текущей среды, выполняет скрипт в этой среде, а затем уничтожает копию.

Чтобы выполнить скрипт в текущей среде, вы должны использовать этот синтаксис: [ ! d1] . /home/m/mydata/sourecCode echo $DEV_SRC

или

source /home/m/mydata/sourecCode echo $DEV_SRC
5
ответ дан 23 July 2018 в 18:52

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

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