Shebang 是 bash 脚本的第一行,指示 bash 脚本在哪里执行。在 Windows git bash 脚本中,它是必需的吗?如果不是,为什么?
答案1
Shebangs 绝不应该真的在任何平台上都是必需的。如果 shell 脚本缺少 shebang,则脚本将由调用来解释它的任何 shell 二进制文件解释。这通常与您从中调用脚本的 shell 是同一个 shell 二进制文件。如果 shell 开始执行脚本并发现指向不同 shell 二进制文件的 shebang,它将调用该其他 shell 二进制文件来执行脚本。
因此,shebang 只是替代,以防有人从错误的 shell 调用脚本。例如,如果您在bash
脑海中编写了一个脚本,但担心tcsh
用户会调用它,并且您知道他们tcsh
无法处理bash
您在脚本中使用的 -isms,您可以bash
在顶部放置一个 shebang,告诉tcsh
或zsh
任何其他 shell 应该将其交给bash
。