Skip to content

Shebang

Stephen Crowley edited this page Feb 4, 2024 · 1 revision
4 definitions found

From The Collaborative International Dictionary of English v.0.48 [gcide]:

  Shebang \She*bang"\, n. [Cf. {Shebeen}.]
     1. A jocosely depreciative name for a dwelling or shop; a
        primitive dwelling; a shanty. [Slang, U.S.]
        [1913 Webster]
  
     2. The structure of an object, process, organization, or
        anything viewed as complicated; -- used primarily in the
        phrase
  
     {the whole shebang}; as, it comes with unnecessary frills,
        but you have to buy the whole shebang. [informal]
        [PJC]
  
     3. (computers) [Possibly derived from shell bang; the
        character ! is referred to in some computer contexts as
        bang.] The character sequence #!, which frequently begins
        shell scripts in a Unix system.
        [PJC]

From WordNet (r) 3.0 (2006) [wn]:

  shebang
      n 1: an entire system; used in the phrase `the whole shebang'

From The Jargon File (version 4.4.7, 29 Dec 2003) [jargon]:

  shebang
   /sh@?bang/, n.
  
      [possibly a portmanteau of ?sharp bang?] The character sequence ?#!? that
      frequently begins executable shell scripts under Unix. Probably derived
      from ?shell bang? under the influence of American slang ?the whole shebang?
      (everything, the works).
  

From The Free On-line Dictionary of Computing (30 December 2018) [foldoc]:

  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)
  
Clone this wiki locally