在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执行时,是直接在父进程中执行的,没有新建子进程。