Выполнение команды source
в сценарии выполняет сценарий в контексте текущего процесса. Это означает, что переменные среды, установленные сценарием, остаются доступными после его завершения. Это отличается от обычного запуска сценария, и в этом случае переменные среды, установленные во вновь порожденном процессе, будут потеряны при выходе из сценария.
Вы можете использовать любой исполняемый скрипт оболочки. Конечный эффект будет таким же, как если бы вы ввели команды в скрипте в свой терминал. Например, если сценарий изменяет каталоги, когда он завершает работу, ваш текущий рабочий каталог будет изменен.