在bash shell中,source、exec以及sh都可以用来执行shell script,但是它们的差别在哪里呢?
sh:父进程会fork一个子进程,shell script在子进程中执行
source:在原进程中执行,不会fork子进程
exec:在原进程中执行,但是同时会终止原进程
注:使用export会把父进程中的变量向子进程中继承,但是反过来却不行,在子进程中,不管环境如果改变,均不会影响父进程
在bash shell中,source、exec以及sh都可以用来执行shell script,但是它们的差别在哪里呢?
sh:父进程会fork一个子进程,shell script在子进程中执行
source:在原进程中执行,不会fork子进程
exec:在原进程中执行,但是同时会终止原进程
注:使用export会把父进程中的变量向子进程中继承,但是反过来却不行,在子进程中,不管环境如果改变,均不会影响父进程