Web lists-archives.com

Re: Extra CR symbol from backticks on Cygwin 2.9.0




Hi Eric,

Thanks! This option is what I am looking for.
However I cannot agree with you on bash behavior in Cygwin. Section of
command substitution in bash documentation says:

https://www.gnu.org/software/bash/manual/bash.html#Command-Substitution

"...with any trailing newlines deleted." That is why I expected that
bash should remove trailing newlines in command substitution results,
which are CRLF on Windows.
>From my point of view, bash in Cygwin should follow the same rule on
Linux and Windows: remove trailing newlines in command substitution.
So remove trailing CRLF on Windows.


Best regards,
Nikolay Melekhin

2017-09-12 1:00 GMT+03:00 Eric Blake <eblake@xxxxxxxxxx>:
> On 09/11/2017 04:27 PM, Nikolay Melekhin wrote:
>>
>> I'd expect that Cygwin must remove CRLF symbols from backtick results,
>
> You expected wrong - by default Cygwin does the same as Linux, which
> does NOT remove CR from command substitution (only LF).
>
>> but remove only LF symbol. It gets different results on Windows and
>> Linux. Result on Windows has additional CR symbol and for example
>> string comparision, which is working in Linux, fails in Windows.
>
> It is NOT a bug in Cygwin, but in your failure to sanitize your input.
> You'd get the same behavior on Linux if you pass in CR bytes.  That said,
>
>>
>> Is any kind of an option/setting which removes such CRs or it is a bug
>> in Cygwin?
>
> Read the release announcements: Cygwin bash DOES have an 'igncr' shell
> option (set -o igncr) that does exactly what you are asking for - it
> makes bash ignore CR characters in command substitutions and other places:
>
> https://cygwin.com/ml/cygwin-announce/2017-01/msg00047.html
>
> The option is not on by default, but exists because it is a common
> desire when you can't be bothered to otherwise sanitize CR out of your
> input stream.
>
> --
> Eric Blake, Principal Software Engineer
> Red Hat, Inc.           +1-919-301-3266
> Virtualization:  qemu.org | libvirt.org
>

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple