Mail Archives: cygwin/2006/10/13/16:31:15
On Fri, 13 Oct 2006, Matthew Woehlke wrote:
> http://cygwin.com/acronyms/#PPIOSPE, thanks!
>
> Rob Walker wrote:
> > Matthew Woehlke wrote:
> > > Rob Walker wrote:
> > > > Matthew Woehlke wrote:
> > > > > Rob Walker wrote:
> > > > > > Many, many other cross-platform products make allowances for CRLF
> > > > > > (version control systems are a prime example) to maximize
> > > > > > compatibility, and thereby their usefulness, on Windows. Cygwin's
> > > > > > recent changes (with make and bash) here has put a real crimp in my
> > > > > > plans to depend on cygwin for a portable build environment.
> > > > >
> > > > > I think using 'igncr' should satisfy your complaints. If it doesn't,
> > > > > you need to tell use WHY (which, you'll notice, the OP failed to do).
> > > >
> > > > So far, igncr hasn't worked for me either. I think this is because I
> > > > don't know how to use it.
> > > >
> > > > This is the simple shell script I'd like to have work (lines separated
> > > > by CRLF):
> > > >
> > > > #!/bin/bash
> > > > echo helloworld
> > > >
> > > > [snip]
> > > > I also tried editing the script (which I fear breaks it for non 3.x
> > > > users of bash):
> > > >
> > > > #!/bin/bash -O igncr
> > > > echo helloworld
> > >
> > > Did you try adding 'shopt igncr' to the script? This won't (shouldn't, at
> > > least!) break it for non-3.1-9 users (and if you stick a
> > > 2>/dev/null after it, won't print errors).
> >
> > A ha! This form works in 3.1-9
> >
> > shopt -s igncr; #
> > #!/bin/bash
> > echo hello world
>
> Hmm, that should be the second line, not the first (not sure but I would guess
> the shebang is ignored when it isn't first). Does it still work that way, or
> does bash get confused about the CR on the shebang line? (If the latter, I
> would say this is a real bug that needs to be addressed somehow, or maybe
> igncr should affect the invoking bash's handling of the shebang).
>
> > But it apparently _does_ break for non-3.1-9 users:
> >
> > rwalker AT sycophant> ./helloworld.sh
> > shopt: not found
> > hello world
> > rwalker AT sycophant> bash --version
> > GNU bash, version 2.05b.0(1)-release (i686-pc-cygwin)
> > Copyright (C) 2002 Free Software Foundation, Inc.
>
> It does? It looks like it did what it is supposed to do; gripe, and then
> correctly run the rest of the script. See my earlier suggestion about adding
> '2>/dev/null' after the 'shopt'.
See <http://cygwin.com/ml/cygwin-announce/2006-10/msg00000.html>, the part
that says "if you want your script to be portable"...
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com
ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!)
|,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -