В чем разница между "source script.sh" и "./script.sh"? - PullRequest
30 голосов
/ 24 января 2011

В чем разница между source <script> и ./<script>?

Ответы [ 2 ]

41 голосов
/ 24 января 2011

source script.sh запускает сценарий в текущем процессе, поэтому все назначения переменных сохраняются как переменные даже после завершения сценария (и не обязательно должны быть явно export 'd).

./script.sh просто запускает сценарий в подпроцессе, и любые переменные, которые назначены, исчезают после выполнения сценария.

6 голосов
/ 24 января 2011

исходный скрипт изменит вашу текущую среду, ./script не изменит.

(РЕДАКТИРОВАТЬ: скрипт должен быть исполняемым для использования ./)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...