在计算领域中,Shebang(也称为 Hashbang )是一个由井号和叹号构成的字符序列 #!
,其出如今文本文件的第一行的前两个字符。 在文件中存在 Shebang 的状况下,类 Unix 操做系统的程序加载器会分析 Shebang 后的内容,将这些内容做为解释器指令,并调用该指令,并将载有 Shebang 的文件路径做为该解释器的参数[1]。php
例如,以指令#!/bin/sh
开头的文件在执行时会实际调用/bin/sh程序(一般是 Bourne shell 或兼容的 shell,例如 bash、dash 等)来执行。这行内容也是 shell 脚本的标准起始行。shell
因为 #
符号在许多脚本语言中都是注释标识符,Shebang 的内容会被这些脚本解释器自动忽略。 在 #
字符不是注释标识符的语言中,例如 Scheme,解释器也可能忽略以 #!
开头的首行内容,以提供与 Shebang 的兼容性[2]。网页爬虫
"Shebang" 或者说 "Hashbang" 的名字有时也被当作 Ajax 应用程序中的 分段标识符,用于浏览器的状态保存;Google 网站站长中心提到,以叹号开头的分段标识符(即 ...url#!state... )会为 Google 的网页爬虫所索引。浏览器