source和/bin/bash的区别
通过/bin/bash filename
执行脚本,会生成一个子shell,该子shell会继承当前父shell(可以理解成当前的shell)的环境变量,但子shell中新建的、改变的变量不会被带回父shell,除非使用export。
source filename
命令只是简单地读取脚本里面的语句依次在当前shell里面执行,并没有建立新的子shell,脚本里面所有新建、改变变量的语句都会保存在当前shell里面。
通过/bin/bash filename
执行脚本,会生成一个子shell,该子shell会继承当前父shell(可以理解成当前的shell)的环境变量,但子shell中新建的、改变的变量不会被带回父shell,除非使用export。
source filename
命令只是简单地读取脚本里面的语句依次在当前shell里面执行,并没有建立新的子shell,脚本里面所有新建、改变变量的语句都会保存在当前shell里面。