shebang被认为是评论的特例吗?

时间:2019-07-17 20:18:41

标签: bash shell shebang

如果我们要在语法上指定shell脚本的某些部分,那么shebang应该放在哪里,这是注释的特例吗?

1 个答案:

答案 0 :(得分:8)

shebang根本没有通过shell语法(对于基线POSIX sh标准,或者特别是在bash中)进行特殊处理。也就是说:这不是对shell进行注释的特例;相反,到外壳,这是完全正常的,沼泽标准的注释,没有任何特殊处理。

请参见https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10_02的正式语法;射手没有什么特别的。

当操作系统(通过execve()系统调用定向启动新程序)试图查找时,唯一的特殊处理是在外壳启动之前完成的。一个解释器(无论是shell还是其他东西),使用该解释器来调用可执行文件以替换以前与活动PID相关联的过程映像。