source
source xxx.sh
- 文件没有可执行权限时,也可以使用source命令执行。
- source命令是在当前shell中执行的,并未开启子shell。所以,被执行文filename.sh中的变量,传递到了当前的shell中。
- .(点号)与source具有相同的功能。
sh
sh xxx.sh
- 文件没有可执行权限时,也可以使用sh命令执行。
- sh命令是开启一个子shell进程,在子shell中执行脚本。变量在子shell中可以获取到,在主shell中无法获取。
- sh命令与./(点斜杠)命令,具有相同的功效。(./ 需要文件具备可执行权限。)
区别
source 执行完 source xx.sh 之后 可获取脚本中的赋值的变量 ,而 sh不可以