在 Linux 或类 Unix 系统中,`source`、`.` 和 `./` 的使用场景各有不同,以下详细介绍何时使用它们:
命令 | 用途 | 适合场景 |
source和“.” | 等效。脚本在当前 shell 环境中执行并影响当前 shell 的状态和环境变量 | 1. 加载环境变量配置文件,无需重新启动终端; 2. 加载函数定义; 3. 修改当前 shell 的状态,如改变工作目录、设置 shell 选项等; |
“./” | 脚本作为一个独立的程序在子 shell 中运行,不影响当前 shell 的状态 | 1. 执行独立的脚本程序,不需要与当前 shell 共享环境变量或状态时; 2. 执行编译后的可执行文件; |