source和/bin/bash的区别

通过/bin/bash filename执行脚本,会生成一个子shell,该子shell会继承当前父shell(可以理解成当前的shell)的环境变量,但子shell中新建的、改变的变量不会被带回父shell,除非使用export。

source filename 命令只是简单地读取脚本里面的语句依次在当前shell里面执行,并没有建立新的子shell,脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

标签: shell, bash, 环境变量, source

添加新评论