source和sh执行脚本时的差异

在CentOS7下,有如下脚:sh02.sh。

1 用sh或者bash执行

 先执行echo $firstname $lastname

 再执行 sh sh02.sh

 最后执行 echo $firstname $lastname

2 用source执行

   先执行  echo $firstname $lastname

   再执行 source sh02.sh

   最后执行  echo $firstname $lastname

结论:使用sh 执行shell文件时,是在父进程的bash下新建了一个子进程,sh02.sh是在子进程的运行的,执行结束后bash内容自动清空;

   而使用source执行时,是直接在父进程中执行的,没有新建子进程。

原文地址:https://www.cnblogs.com/wzhuo/p/6682412.html