在 Shell 脚本中调用另一个 Shell 脚本的三种方式
- fork: 如果脚本有执行权限的话,
path/to/foo.sh。如果没有,sh path/to/foo.sh。 - exec:
exec path/to/foo.sh - source:
source path/to/foo.sh
| Command | Explanation |
|---|---|
| fork | 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 Shell。 |
| exec | 在同一个 Shell 内执行,但是父脚本中 exec 行之后的内容就不会再执行了 |
| source | 在同一个 Shell 中执行,在被调用的脚本中声明的变量和环境变量, 都可以在主脚本中进行获取和使用,相当于合并两个脚本在执行。 |