macOS 执行Shell脚本文件三种方式的差异

目录
  • 在终端中,直接输入脚本文件的路径以执行脚本
    例如 ./a.sh
    是启动一个子 shell 来执行脚本,要求该脚本文件具有可执行权限。

  • 在终端中,指定 shell 来执行脚本
    例如:sh a.shbash a.sh
    不要求文件有可执行权限。因为调用的命令程序文件 shbash 已经具有了可执行权限,脚本文件是一个参数。

  • 点命令(source)引入脚本内容
    例如 . a.shsource a.sh
    是类似于加载的功能,会将 a.sh 脚本中的函数和变量都加载到当前的 shell 进程中,可以在当前 shell 进程中直接调用。