简介
在 Bash 和其他 shell 环境中, .(点)是BASH内部命令,等同于source。两个命令用于在当前 shell 会话中读取并执行一个 shell 脚本文件,相当于php中的include,其他一些语言的import等。
需要再重点强调一点的是,被调用的文件是会按照shell脚本执行一遍,执行结果影响当前上下文环境。
. 常用来加载一些env(环境变量)到当前上下文环境中来。
举例
假设你有一个名为 set_variables.sh 的脚本,内容如下:
#!/bin/bash
MY_VAR="Hello, World!"
如果你直接运行这个脚本(例如使用 ./set_variables.sh),MY_VAR 变量只会在子 shell 中存在,脚本执行完毕后就会消失。但是,如果你使用 source set_variables.sh 或 . set_variables.sh 来运行这个脚本,MY_VAR 变量就会在当前 shell 会话中设置,并且你可以直接访问它。