Shebang: Difference between revisions
Jump to navigation
Jump to search
Line 13: | Line 13: | ||
#! <interpreter> [optional-args] | #! <interpreter> [optional-args] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=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= | =Bash= | ||
<syntaxhighlight lang='text'> | <syntaxhighlight lang='text'> |
Revision as of 22:12, 1 May 2023
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 "."