Bash: Нужно экспортировать переменные в родительский процесс. Родительский процесс тот же?

Bash: Нужно экспортировать переменные в родительский процесс. Родительский процесс тот же?

Я хотел бы запустить скрипт, который устанавливает и/или обновляет некоторые переменные среды. В отличие отэтот вопрос, я не против запустить скрипт как

. /path/to/my/script/myScript.sh

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

Итак, каков наилучший способ узнать, был ли скрипт выполнен внутри родительского процесса?

решение1

Проверьте одну из переменных. Если она пустая или не установлена, покажите ошибку

if [[ -z "$some_variable" ]]; then
    echo "You must 'source /path/to/my/script/myScript.sh' first" >&2
    exit 1
fi

Конечно, вы можете просто выбрать файл и продолжить работу, если хотите, чтобы рабочий процесс для ваших пользователей был более плавным.

Связанный контент