What is the difference between “source script.sh”

2020-01-28 03:42发布

问题:

What is the difference between source <script> and ./<script>?

回答1:

source script.sh runs the script within the current process, thus all variable assignments are preserved as variables even after the script finishes (and don't have to be explicitly export'd).

./script.sh just runs the script in a subprocess, and any variables which are assigned disappear after the script is done.



回答2:

source script will change your current environment, ./script will not.

(EDIT: script has to be executable to use ./)



标签: linux shell unix