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
next prev parent 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).