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

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

#!/bin/bash

export DEV_SRC="/home/m/mydata/sourecCode"
echo $DEV_SRC

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

/home/m/mydata/sourecCode

Но если я запустил этот код на том же терминале, на котором я запускал приведенный выше сценарий из,

echo $DEV_SRC

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

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

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

1 ответ

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

Для выполнения сценария в текущей среде, необходимо использовать этот синтаксис:

. /home/m/mydata/sourecCode
echo $DEV_SRC

или

source /home/m/mydata/sourecCode
echo $DEV_SRC
5
ответ дан 2 December 2019 в 01:54

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

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