1、执行脚本是在一个子shell环境运行的,脚本执行完后该子shell自动退出。

2、执行脚本中的系统环境变量(用export定义的变量)才会被复制到子shell中。

3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失(并不能返回到父shell中)。

4、不用export定义的变量只对该shell有效,对子shell也是无效的。 直接执行一个脚本文件是在一个子shell中运行的,而source则是在当前shell环境中运行的。source可以让脚本影响它们的父shell环境,这和export去影响子shell环境相反。