Mail Archives: cygwin/2006/10/13/15:51:18
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'.
--
Matthew
"What's Cygwin?" you ask.
'Tis mostly absurd software
Concerning hippos.
--
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 -