Я хотел бы запустить скрипт, который устанавливает и/или обновляет некоторые переменные среды. В отличие отэтот вопрос, я не против запустить скрипт как
. /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
Конечно, вы можете просто выбрать файл и продолжить работу, если хотите, чтобы рабочий процесс для ваших пользователей был более плавным.