#之间允许有空格!和/ bin / bash在shebang中?


Answers:


48

是的,这是允许的。

Wikipedia上有关shebang的文章 包括Dennis Ritchie于1980年发送的一封电子邮件,当时他将对shebang的内核支持(作为更广泛的解释器指令包的一部分)引入版本8 Unix(重点是我的):

系统已更改,因此,如果正在执行的文件以魔术字符开头,则#!该行的其余部分应理解为已执行文件的解释器的名称。[…]

要利用这个难得的机会,

#! /bin/sh

在您的Shell脚本第一行的左边距处。 之后!的空格就可以了。

因此,shebang之后的空间已经存在了很长一段时间,确实,Dennis Ritchie的示例正在使用它们。

请注意,Unix的早期版本在此解释器行中的字符数限制为16个,因此那里不能有任意数量的空格。此限制不再适用于现代内核。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.