public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Benoit Rochefort <Benoit.Rochefort@gerad.ca>
To: "Gerald S. Williams" <gsw@agere.com>
Cc: <cygwin@cygwin.com>, "David Gluss" <dgluss@marple-tech.com>,
	"Peter J. Acklam" <pjacklam@online.no>
Subject: RE: /usr/bin/env - Incorrect parsing of #! line?
Date: Wed, 13 Feb 2002 06:52:00 -0000	[thread overview]
Message-ID: <15466.32063.124480.260990@montreal.crt.umontreal.ca> (raw)
In-Reply-To: <GBEGLOMMCLDACBPKDIHFCEPKCGAA.gsw@agere.com>

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@agere.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/

  parent reply	other threads:[~2002-02-13 14:52 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-12 17:47 David Gluss
2002-02-12 17:54 ` Christopher Faylor
2002-02-12 19:10   ` David Gluss
2002-02-13  6:26     ` Gerald S. Williams
2002-02-13  6:38       ` Michael Schaap
2002-02-13  6:39       ` Robert Praetorius
2002-02-13  6:52       ` Benoit Rochefort [this message]
2002-02-14 11:55       ` Gerald S. Williams
2002-02-20 12:57   ` Peter J. Acklam
2002-02-20 13:37     ` Larry Hall (RFK Partners, Inc)
2002-02-21 12:47       ` Peter J. Acklam
2002-02-21 13:04         ` Peter J. Acklam
2002-02-21 19:10         ` William F. Hammond
2002-02-20 21:33     ` Christopher Faylor
2002-02-21 13:23       ` Peter J. Acklam
  -- strict thread matches above, loose matches on Subject: below --
2002-02-22  5:26 pjacklam
2002-02-22  1:27 pjacklam
2002-02-22  4:34 ` Michael Schaap
2002-02-13 14:13 Heribert Dahms
2002-02-13  6:53 Chet Ramey
2002-02-13 10:37 ` Christopher Faylor
2002-02-13 11:14   ` Lassi A. Tuura
2002-02-13  6:50 Chet Ramey
2002-02-13  7:16 ` Gerald S. Williams
2002-02-12 15:22 Chris January
2002-02-12 10:38 Peter J. Acklam
2002-02-12 10:53 ` Christopher Faylor
2002-02-12 12:16   ` Peter J. Acklam
2002-02-12 14:25     ` Charles Wilson
2002-02-12 14:59       ` David Gluss
2002-02-20 13:03       ` Peter J. Acklam
2002-02-12 11:56 ` David Gluss
2002-02-12 12:17   ` Peter J. Acklam
2002-02-12 13:56     ` David Gluss
2002-02-12 14:57 ` Chris January
2002-02-20 12:57   ` Peter J. Acklam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=15466.32063.124480.260990@montreal.crt.umontreal.ca \
    --to=benoit.rochefort@gerad.ca \
    --cc=cygwin@cygwin.com \
    --cc=dgluss@marple-tech.com \
    --cc=gsw@agere.com \
    --cc=pjacklam@online.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).