delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/10/13/15:51:18

X-Spam-Check-By: sourceware.org
To: cygwin AT cygwin DOT com
From: Matthew Woehlke <mwoehlke AT tibco DOT com>
Subject: Re: shopt igncr not working
Date: Fri, 13 Oct 2006 14:50:52 -0500
Lines: 67
Message-ID: <egoqms$b9u$1@sea.gmane.org>
References: <1160655422743 DOT antti DOT nospam DOT 1605718 DOT wGO_WJ9D1NlId3tB-z6Qig AT luukku DOT com> <20061012123406 DOT GA30908 AT trixie DOT casa DOT cgf DOT cx> <452EA386 DOT 9010201 AT qualcomm DOT com> <egmbf1$9v6$1 AT sea DOT gmane DOT org> <452F1F4A DOT 2050705 AT qualcomm DOT com> <egobgc$c0q$1 AT sea DOT gmane DOT org>
Mime-Version: 1.0
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060909 Thunderbird/1.5.0.7 Mnenhy/0.7.4.0
In-Reply-To: <egobgc$c0q$1@sea.gmane.org>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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 -


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