r[shebang.intro] A shebang is an optional line that is typically used in Unix-like systems to specify an interpreter for executing the file.
[!EXAMPLE]
#!/usr/bin/env rustx fn main() { println!("Hello!"); }
r[shebang.syntax]
@root SHEBANG -> `#!` !((WHITESPACE | LINE_COMMENT | BLOCK_COMMENT)* `[`) ~LF* (LF | EOF)
r[shebang.syntax-description] The shebang starts with the characters #! and extends through the first U+000A (LF) or through EOF if no LF is present. If the #! characters are followed by [ (ignoring any intervening comments or whitespace), the line is not considered a shebang (to avoid ambiguity with an inner attribute).
r[shebang.position] The shebang may appear immediately at the start of the file or after the optional byte order mark.