[英]Is a space allowed between #! and the first character of the path?
在我使用的语言中,“#”不会开始评论。 所以我必须找到一种方法来通过第一条shebang线而不会产生错误。 一个技巧可以完成这项工作,前提是在标题 # 之后允许/允许一些空间,我的意思是写
#! /usr/path/to/the/bin/to/call/to/run/me
代替
#!/usr/path/to/the/bin/to/call/to/run/me
我没有 linux 安装可用于自己进行测试。
这个shebang会起作用吗?
shebang ( #
) 是一个 16 位内核解释的魔法“数字”(实际上是0x23 0x21
)。 此后,kernel 程序加载器(在exec
-family 调用之后)尝试执行该行的剩余部分以处理包含文件内容的剩余部分。 许多(如果不是大多数)现代内核都忽略了 shebang 之后的命令前面的空格。 因此, # /bin/bash
、 # /usr/bin/perl
等应该可以被大多数现代内核所接受。 也就是说,没有后续空间的shebang更为常见。
请注意,仅供参考,可执行和可链接格式 (ELF) 幻数是 32 位: 0x7F 0x45 0x4C 0x46
或[DEL] [E] [L] [F]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.