shebang
<operating system> (Or "shebang line", "bang path") /sh*-bang'/ (From
"sharp" and "bang") The magic cookie "#!" used in Unix to mark the start of a
script, e.g. a shell script or Perl script.
Under Unix, if the first two bytes of an executable file are "#!", the kernel
treats the file as a script rather than a machine code program. The word
following the "!" (i.e., everything up to the first whitespace) is used as the
pathname of the interpreter. For example, if the first line of an executable is
#!/usr/local/bin/perl
the script will be treated as a Perl script and passed as an argument to
/usr/local/bin/perl to be interpreted. Some variants
of Unix also allow one or more parameters to be
passed to the interpreter, for example, you can
write
#!/usr/bin/perl -w
and the script will be started as if you typed
/usr/bin/perl -w <filename>
on the command line. Also, most modern kernels ignore any whitespace
between the "!" and the interpreter pathname. Even
some modern kernels have fairly small limits (e.g.
32) on the length of line they will accept, making
long pathnames and arguments somewhat unportable.
[Does anyone call this a "magic string"?]
(1998-05-06)
Nearby terms:
sharp « Sharp APL « S-HDSL « shebang » SHEEP
» shelf » shelfware
|