我们在编写脚本的时候,通常会在第一行添加如下的语句:12#! /bin/bash...
这是一个 POSIX 惯例,它有一个名称 — Shebang
在 POSIX 类系统中,如果文件第一行包含 Shebang 标志,该行后面的内容会被 POSIX 系统的程序加载器识别为解释器指令,并调用该解释器。
同时,将该文件传递给解释器作为参数。
因为文件第一行以 #! 开头,所以解释器(大部分解释器将#开头的语句作为注释)会忽略该行。
起源
关于它的起源,一直没有官方的说法,估计是约定俗成的惯例了,权当了解下吧。
- 很多脚本主要是 shell 脚本,所以取其前面的几个字母 「She」;
#和!的读音为Sharp和bang
例外
有的解释器指令不会忽略 #,比如 cat,如下:123#! /bin/catHello World!
cat 会将该文件的所有内容输出。
总结
这里列举一下 Shebang 的几点要求:
#!必须连接在一起,它的术语是Shebang,也称为hashbang#!一句必须在文件的最开始,第一行#开头的语句一般情况下会被当成注释而忽略,所以Shebang对文件的内容是没有影响的#!开头的一行会设置解释器运行环境