执行脚本的几种方式和区别:

1. . 和source 执行脚本的时候,都会在当前shell下执行,shell十三问那上面有个解释也很清晰,就是当用source去执行脚本时,脚本内容为:

#!/bin/bash
cd /home

会发现工作目录,进行了切换,而用bash sh 去执行却不会切换,因为后他们都会开启一个子shell

后来测了下 bash、sh和./xx的区别,脚本内容为:

#!/bin/more
aaaaaaaaaaaaa

1.发现bash、sh去执行的时候,会提示command not found,这个很正常因为aaaaaaaaaa不是命令

2.用./xx 去执行会显示出脚本的具体内容

我想区别应该是./xx 这样执行的时候,会去调用more这个命令来执行这个脚本
而bash、sh 却使主动打开一个子shell来执行这个脚本,而不去考虑#!/bin/more这个内容。