Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Shebang

Shebang 是一个可选行,通常用于类 Unix 系统中,用来指定执行该文件的解释器。

Example

#!/usr/bin/env rustx

fn main() {
    println!("Hello!");
}

Lexer
SHEBANG
    #! !( ( WHITESPACE | LINE_COMMENT | BLOCK_COMMENT )* [ )
    ~LF* ( LF | EOF )

Shebang 以字符 #! 开头,并延伸到第一个 U+000A(LF)处,如果没有 LF 则延伸到 EOF。如果 #! 字符后面跟随 [(忽略中间的注释空白字符),则该行不被视为 shebang(以避免与内部属性产生歧义)。

Shebang 可以紧接在文件开头出现,也可以出现在可选的字节顺序标记之后。