This is the mail archive of the
mailing list for the Cygwin project.
Re: Extra CR symbol from backticks on Cygwin 2.9.0
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:
"...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.
2017-09-12 1:00 GMT+03:00 Eric Blake <email@example.com>:
> 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:
> 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
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple