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 可以直接出现在文件开头或可选的字节顺序标记之后。