fork:
e.g: ./1.sh
创建子shell,在其中运行1.sh,子shell的运行结果不会影响到当前shell。
e.g:
#$ pwd
/home/r
#$ echo "cd /etc" > 1.sh
#$ ./1.sh
#$ pwd
/home/r
source:
e.g: . ./1.sh
在当前shell运行运行1.sh,会影响到当前shell。
e.g:
#$ pwd
/home/r
#$ echo "cd /etc" > 1.sh
#$ . ./1.sh
#$ pwd
/home/r
exec:
e.g: exec 1.sh
当前shell的进程被替换成1.sh,原进程结束。
见1.sh
2.sh
运行一下命令并观查结果