Shebang
Jump to navigation
Jump to search
External
- https://en.wikipedia.org/wiki/Shebang_(Unix)#:~:text=In%20computing%2C%20a%20shebang%20is,bang%2C%20or%20hash%2Dpling.
- https://tldp.org/LDP/abs/html/sha-bang.html
Internal
Overview
The #!
sequence of characters at the beginning of a file indicates that the file is a script: a set of commands to be fed into an interpreter. The path that follows #!
is the path to the program that interprets the commands in the script, whether it be a shell, a programming language, or a utility. The interpreter executes the commands in the script, starting with the line following the #!
line:
#! <interpreter> [optional-args]
The Path Must be Absolute
The interpreter should always be specified by absolute path to ensure that the script can be executed from any directory. When it's not, it's generally a typo and shell static checkers usually warn against this syntax.
Bash
#!/usr/bin/env bash
echo "."