В чем разница между source <script>
и ./<script>
?
В чем разница между "источником script.sh" и "./script.sh"?
Ответ 1
source script.sh
запускает script в текущем процессе, поэтому все назначения переменных сохраняются как переменные даже после завершения script (и не обязательно должны быть явно export
'd).
./script.sh
просто запускает script в подпроцессе, а любые переменные, которые назначаются, исчезают после выполнения script.
Ответ 2
источник script изменит вашу текущую среду,. / script не будет.
(EDIT: script должен быть доступен для использования./)