2.2 KiB
title | TARGET DECK | FILE TAGS | tags | |
---|---|---|---|---|
Shebang | Obsidian::STEM | bash |
|
The shebang (also writting shabang or sha-bang) is a magic character at the start of a script indicating what command should be run when invoking the script directly. It always begins with ASCII characters #!
.1
%%ANKI
Basic
What ASCII characters do shebangs start with?
Back: #!
Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916.
END%%
%%ANKI Basic What class of programs can be specified in a shebang? Back: Interpreters Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. https://www.gnu.org/software/gawk/manual/gawk.pdf
END%%
%%ANKI
Basic
The OS will parse a shebang into what three parts?
Back: #!
, the interpreter, and the rest of the line as a single argument.
Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. https://www.gnu.org/software/gawk/manual/gawk.pdf
END%%
%%ANKI Basic What gotcha does Robbins highlight with shebang parsing? Back: The remainder of the line following the interpreter is passed as a single argument. Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. https://www.gnu.org/software/gawk/manual/gawk.pdf
END%%
Some systems limit the length of interpreters to just 32 characters. A simple workaround when encountering this limitation is to introduce a symbolic link.
%%ANKI Basic What workaround is used when shabang interpreter names are too long? Back: Introduce a symbolic link. Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. https://www.gnu.org/software/gawk/manual/gawk.pdf
END%%
-
Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. ↩︎