bash中调用其他脚本的三种方式

有三种方式可以调用其他脚本

  • fork
    这是最常用的调用方式,直接指定要调用的脚本的名字,也可以指定要使用的shell,比如
    sh ${scriptname}
    bash ${scriptname}
    如果不指定使用的shell名称,则根据脚本的shebang来确定使用的脚本解释器。

这种方式,shell会为调用脚本fork一个子进程来执行被调用的脚本。子进程继承父进程的环境变量,子进程结束时会有退出状态给父进程。

  • source(.)
    source或.是bash的内建命令,在命令行上执行的时候,将会直接执行被调用脚本。
    在脚本内source另一个脚本时,会将被调用脚本插入到调用脚本,并执行这些脚本。因此调用脚本和被调用脚本可以相互访问彼此的变量。
    类似C/C++语言的include语句
  • exec
    这是 shell 的内建命令,将使用被调用脚本来取代当前进程,当被调用脚本执行完毕后,调用脚本也随之结束。

===
[erq]