Subject: Re: what did I miss? #!.... doesn't work in bash
From: [email-masked] ("Michael H. Warfield")

9 Nov 1996 14:04:01 -0800
Sender: [email-masked]
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Original-To: [email-masked] (Bret A. Schuhmacher)
Original-Cc: [email-masked], [email-masked], [email-masked]
In-Reply-To: <[email-masked]> from "Bret A. Schuhmacher" at Nov 2, 96 01:52:48 pm
X-Mailer: ELM [version 2.4 PL20]
Content-Length: 3236      
Original-Sender: [email-masked]

Bret A. Schuhmacher enscribed thusly:

> On Fri, 1 Nov 1996, Geoffrey Noer wrote:

> > Graham Whaley taps on the keyboard:
> > > 
> > >   Err, I thought that the decoding of a '#!' line had moved into the kernel 
> > > on *IX, and was not a bash/shell/user level thing?.  You'll have to excuse 
> > > me if I'm wrong, I've not really delved into ther kernel for a number of 
> > > years.

	Many many versions of UNIX do recognize the #! as a loader magic
number but one to invoke some sort of shell.  Some versions of UNIX do not.
Most older versions, true, but those version still exist and are still in
use.  The version of SCO Unix which I have on one machine (3.2.4) supports #!
(what they refer to as "hash pling") but as a kernel configuration parameter
which is not, by default, on (it's on here).

> > I can try :-)
> > 
> > This is functionality that would have to be added to the cygwin.dll.
> > It's not there now.

> Why, then is there code in the current/newest bash shell source for execing 
> the program found on the #! line?  If this had been moved into the 

	Because bash still supports older versions of UNIX which do not
support the #! notation?  Not all versions of UNIX which support bash
have this in the kernel.  Bash can not DEPEND on it being there.

> kernel, this code would be obsolete and removed.  I'm no expert, but I'm 
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	Total and complete non-sequetar...

	1) Just because some code has been moved into the kernel on some
systems, that does NOT imply that the original code is obsolete in any
way shape or form!  Linux now has binary java support in the kernel.  Does
that mean that java support in Netscape is now obsolete?  I think not...

	2) The step from "obsolete" to "removed" is a tremendous leap of
faith which is not born out in reality.  There are all kinds of obsolete
code out there and will be out there for a LONG time to come.  No one
is likely to go to the trouble of removing it.  Even if it is obsolete,
until it becomes a hinderance, it is easier to leave it in than remove it.
Plus, the moment you remove it, you FIND OUT all of the systems where it was
necessary or used in some way.  And you find out in a most unpleasant manner.

> not sure this is something that should be added to cgywin.dll.  I think 
> the bash shell needs another look.

> Rgds,
> 
> Bret

> ______________________________________________________________________________
> Bret A. Schuhmacher                              Email: [email-masked]
> Technical Director, WebNet Technologies          WWW:   http://www.wn.com
> Voice/Fax: (214) 821-0848                        Pager: (214) 816-0283

>               If you didn't get caught, did you really do it?
> ______________________________________________________________________________
> 
> -
> For help on using this list, send a message to
> "[email-masked]" with one line of text: "help".

	Mike
-- 
 Michael H. Warfield    |  (770) 985-6132   |  [email-masked]
  (The Mad Wizard)      |  (770) 925-8248   |  http://www.wittsend.com/mhw/
  NIC whois:  MHW9      |  An optimist believes we live in the best of all
 PGP Key: 0xDF1DD471    |  possible worlds.  A pessimist is sure of it!
-
For help on using this list, send a message to
"[email-masked]" with one line of text: "help".