<br><br><div class="gmail_quote">On Sat, May 10, 2008 at 3:57 PM, Grant Edwards <<a href="mailto:grante@visi.com">grante@visi.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

On a Linux system (and I presume on other Unixes), the kernel<br>
itself (if built with the proper options) knows know how start<br>
a "script" file that starts with the characters "#!".  When the<br>
kernel is told to execute a file whose first two bytes are "#!"<br>
(0x32,0x21), it knows to read the newline terminated path of an<br>
executable starting at the byte following the "!" (the third<br>
byte in the file).  The kernel then executes that file,<br>
appending the name of the original "script" file to the argv<br>
list.</blockquote><div><br>Wow, thanks for the history lesson.  I was under the impression that this was a bash thing, I had no idea it went as deep as the kernel! <br></div></div><br>