delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/02/13/09:58:57

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: Benoit Rochefort <Benoit DOT Rochefort AT gerad DOT ca>
MIME-Version: 1.0
Message-ID: <15466.32063.124480.260990@montreal.crt.umontreal.ca>
Date: Wed, 13 Feb 2002 09:50:39 -0500 (EST)
To: "Gerald S. Williams" <gsw AT agere DOT com>
Cc: <cygwin AT cygwin DOT com>, "David Gluss" <dgluss AT marple-tech DOT com>,
"Peter J. Acklam" <pjacklam AT online DOT no>
Subject: RE: /usr/bin/env - Incorrect parsing of #! line?
In-Reply-To: <GBEGLOMMCLDACBPKDIHFCEPKCGAA.gsw@agere.com>
References: <00b901c1b43b$ea06d130$6600a8c0 AT cherry>
<GBEGLOMMCLDACBPKDIHFCEPKCGAA DOT gsw AT agere DOT com>
X-Mailer: VM 6.72 under 21.1 (patch 8) "Bryce Canyon" XEmacs Lucid
X-Face: C!5Mk_!qB]35}VpD|H>GN/@fk%~7:*/x8&~\]|r|)/zV?rJ){uX4Nh`a$L/z__Kx4Gt!mDU
3kZlj)F2]Ds$?l';SO9]v^|[i2nY`pZ+mu+HT%5ITkuP#e]@8F4 AT Hc.=]oN1+d\M AT Rl>-$C?h$yntf
-JVx)3L2}VzG.!bQEy]~I_3fup`HtZ^t/Iz.|Vh$~o`^g\
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id g1DEwva11787

My contribution is running the above script on a HPUX-10.20, so you may
take a better decision:

#!/usr/bin/env perl -v

This gives:
No such file or directory: perl -v

On Solaris2, this gives:
This is perl, v5.6.0 built for sun4-solaris

...

On Linux:
/usr/bin/env: perl -v: No such file or directory

On cygwin:
/usr/bin/env: perl -v: No such file or directory

So that only works fine on Solaris. I really don't know if there is a good
reason to scramble all arguments into one, and what's the story behind...

A remember that we were limited to 32 (or 31?) characters onto this line
some years ago :-) without advertising so it was happening that only on
character in the switch was missing for the interpreter (try to debug
that!)

Gerald S. Williams writes:
] I think DG's and PJA's original assessment was correct and
] BASH should be modified. Support for cross-platform scripts
] is important, and the #!/bin/env trick is used frequently.
] 
] It is also not limited to env--any time you use multiple
] arguments to #! you get into trouble. For example, the
] following fails:
] 
] #!/bin/python -tt -x
] print "hello, world"
] 
] To avoid this, the scripting program would have to take
] special measures to split arguments containing spaces
] into multiple arguments. Perl does this, but defeating
] the shell's argument parser like this has got to be
] dangerous and no doubt involves some degree of magic.
] And as we've seen, that still doesn't help if you're
] using env to find perl.
] 
] Solaris (System V) systems don't combine #! arguments
] that way. I don't currently have access to any, but from
] what I can recall, I'm pretty sure that SunOS (BSD) and
] the various flavors of HP and VAX UNIXes all work like
] Solaris in this regard.
] 
] Ironically, this difference affects portability between
] Linux/Cygwin and traditional UNIX systems, but doesn't
] affect Windoze compatibility since only the extensions
] matter there and #! is ignored.
] 
] I have also seen examples in popular Unix books (such
] as the O'Reilly nutshell books) that rely on multiple
] arguments.
] 
] -Jerry
] 
] -O Gerald S. Williams, 22Y-103GA : mailto:gsw AT agere DOT com O-
] -O AGERE SYSTEMS, 555 UNION BLVD : office:610-712-8661  O-
] -O ALLENTOWN, PA, USA 18109-3286 : mobile:908-672-7592  O-
] 
] Christopher Faylor wrote:
] > > I think you're misinterpreting the problem.  If it works the same way
] > > on linux and on cygwin, then there is nothing to fix.
] 
] David Gluss wrote:
] > Hmm.  You're right about that.  In that case I will do nothing.
] > Of course I've always objected to that behavior...but so it is.
] 
] 
] --
] Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
] Bug reporting:         http://cygwin.com/bugs.html
] Documentation:         http://cygwin.com/docs.html
] FAQ:                   http://cygwin.com/faq/

-- 
           *º¤., ¸¸,.¤º*¨¨¨*¤  Benoit Rochefort  *º¤., ¸¸,.¤º*¨¨¨*¤

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019