public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Gene Pavlovsky <gene.pavlovsky@gmail.com>
To: cygwin@cygwin.com
Subject: Re: Script broken after updating bash to 4.3.46-7?
Date: Sat, 27 Aug 2016 11:25:00 -0000	[thread overview]
Message-ID: <CAPTiy3PXKi+8c+7VGOe+KMjqKmHAYfLERtsLcYKsz-5=C6nUaA@mail.gmail.com> (raw)
In-Reply-To: <CAPTiy3PW0+bk20d30-J=sLr=PPnFOeU0Fb495hh1bBVtbtPrzw@mail.gmail.com>

Looks like it's related to a recent change in bash, which is `read`
now honors Cygwin-specific `igncr` shell option (`set -o igncr`),
which I didn't enable.
Adding `set -o igncr` to the top of the script does the job, however
I'd like to know how many more scripts are potentially malfunctioning
now?
It's lucky that one sent e-mails on errors, some others might just
break silently.
Is it advisable to add `set -o igncr` to /etc/profile or SHELLOPTS? I
didn't use that feature before and am worried about some other
negative side effects.
--Gene

On 27 August 2016 at 02:49, Gene Pavlovsky <gene.pavlovsky@gmail.com> wrote:
> After I updated Cygwin yesterday, a daily database backup bash script
> (`automysqlbackup`) broke.
> My previous bash was 4.3.42-4 (installed when I updated Cygwin on
> 2016/07/23), current is 4.3.46-7.
> Here's the code snippet:
> ```bash
>   local i;i=0;
>   while read -r; do alldbnames[i++]="$REPLY"; done < <(mysql
> --user="${CONFIG_mysql_dump_username}"
> --password="${CONFIG_mysql_dump_password}"
> --host="${CONFIG_mysql_dump_host}" "${mysql_opt[@]}" --batch
> --skip-column-names -e "show databases")
> ```
> This is supposed to get the list of all databases. Before it worked.
> Now every item on the list ends with the CR character ($'\r'), causing
> a bunch of issues with further script opreation. I'm using official
> MariaDB Windows x64 binaries.
> Frankly if mysql does output CRLF line endings, I don't know why that
> script worked before, considering that this command in an interactive
> shell produces a similar result:
> ```bash
> # echo $'information_schema\r' | { read -r var; echo "{$var}"; }
> }information_schema
> ```
> But it did work somehow... Question is - what made it stop working
> now, and what would be best way to fix it?
>
> Regards,
> Gene.

--
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

  reply	other threads:[~2016-08-27  0:04 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-27 10:28 Gene Pavlovsky
2016-08-27 11:25 ` Gene Pavlovsky [this message]
2016-08-27 17:24   ` Andrey Repin
2016-08-28 10:19     ` Gene Pavlovsky
2016-08-29 13:28       ` Nellis, Kenneth
2016-08-29 14:05     ` cyg Simple
2016-08-30  3:21 ` Eric Blake
2016-08-30 18:21   ` cyg Simple
2016-08-30 18:32     ` Eric Blake
2016-08-31 10:16       ` cyg Simple
2016-09-04  9:38         ` Gene Pavlovsky
2016-09-04 17:37           ` Lee
2016-09-05 23:37             ` Gene Pavlovsky
2016-09-06 13:15           ` Eric Blake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPTiy3PXKi+8c+7VGOe+KMjqKmHAYfLERtsLcYKsz-5=C6nUaA@mail.gmail.com' \
    --to=gene.pavlovsky@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).