public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: "Gerald S. Williams" <gsw@agere.com>
To: <cygwin@cygwin.com>
Cc: "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:26:00 -0000	[thread overview]
Message-ID: <GBEGLOMMCLDACBPKDIHFCEPKCGAA.gsw@agere.com> (raw)
In-Reply-To: <00b901c1b43b$ea06d130$6600a8c0@cherry>

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/

  reply	other threads:[~2002-02-13 14:26 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 [this message]
2002-02-13  6:38       ` Michael Schaap
2002-02-13  6:39       ` Robert Praetorius
2002-02-13  6:52       ` Benoit Rochefort
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=GBEGLOMMCLDACBPKDIHFCEPKCGAA.gsw@agere.com \
    --to=gsw@agere.com \
    --cc=cygwin@cygwin.com \
    --cc=dgluss@marple-tech.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).