Source (命令)

source是一个Shell内置命令，用以在当前上下文（当前shell环境）中执行某文件中的一组命令，source命令可简写为一个点（.）。

上下文：一般指的是在交互式会话中，用户当前敲入命令的那个终端。

例子 
source 脚本名，是在当前shell环境下执行。

sh 脚本名，是通过创建子shell环境并进行执行。例子如下：$ cat modify_a.sh
a=2
$ #
$ echo $a

$ sh modify_a.sh 
$ echo $a

$ # sh命令并没有影响当前的shell环境（上下文），a没有被赋值
$ source modify_a.sh # 等价 . modify_a.sh
$ echo $a
2
$ # source命令将影响当前的shell环境（上下文），a被赋值了

用法 
source语句更适合模块化设计，将长代码切割成小模块代码。

例1：会话开始时，用户配置文件（ profile files） .bashrc and .profile将会被执行。

例2：通过source语句，可以实现类似导入包的功能。#!/bin/sh
# 本文件名为: echo_a.sh
# 文件内容为: a=2
source modify_a.sh

echo $a在部署环境时，source也常常被使用，因为它能够影响当前的上下文。

参见 
 . (Unix)

参考文献 

Unix软件