unix/linux source 命令,在当前的 Shell 会话中读取并执行指定文件中的命令
source
命令 (或者它的POSIX等效命令 .
):在当前 Shell 环境中执行脚本
简单来说,source
命令的作用是:在当前的 Shell 会话中读取并执行指定文件中的命令。
这意味着,被 source
执行的脚本中的所有命令,就好像是你直接在当前的命令行提示符下逐行输入并执行的一样。
核心关键点:
- 当前 Shell 环境 (Current Shell Environment): 这是理解
source
的核心。当你登录系统或者打开一个终端时,你就进入了一个 Shell 环境。这个环境包含了许多东西,比如:- 环境变量 (Environment Variables): 像
PATH
,HOME
,USER
,PS1
(命令提示符) 等。 - Shell 变量 (Shell Variables): 仅在当前 Shell 内部有效的变量。
- 定义的函数 (Defined Functions): 你在当前 Shell 中创建的函数。
- 别名 (Aliases): 你设置的命令别名,比如
alias ll='ls -alF'
。 - 当前工作目录 (Current Working Directory): 你用
pwd
命令看到的目录。
- 环境变量 (Environment Variables): 像
source
的行为:- 当使用
source some_script.sh
(或者. some_script.sh
) 时,Shell 会打开some_script.sh
文件,逐行读取其中的命令,并在 当前的这个 Shell 进程中 执行它们。 - 因此,如果
some_script.sh
中定义了新的环境变量、Shell 变量、函数,或者修改了已有的,这些改变会直接反映并持久地作用于你当前的 S
- 当使用