Re: POSIX woes in t7810.87: dash bash or bash dash?
On Mon, Jun 20, 2011 at 06:04:41AM -0500, Jonathan Nieder wrote:
Show 11 quoted lines
> Michael J Gruber wrote:
>
> > echo "a\"b\n\"c"
> > a"b
> > "c
> >
> > t7810.87 breaks with dash because of this. Escaping the \n does not make
> > the test work with both either.
>
> This seems to have slipped by because testing it requires USE_LIBPCRE
> to be set. Thanks for catching it.
Yeah, I test with dash, too, and missed it because I hadn't enabled pcre.
Show 8 quoted lines
> > So I'd like to know which one's right
> > and (independently) how to make it work for both...
>
> Both are right. The simplest fix is to use printf, as in
>
> printf "%s\n" "a\"b\n\"c"
>
> See [1] and [2].
Yep. We've dealt with this before and used printf as the solution. E.g.:
938791c (git-rebase--interactive.sh: use printf instead of echo to print commit message, 2010-07-22)
4d2e283 (git-am: re-fix the diag message printing, 2009-01-18)
a23bfae (More echo "$user_message" fixes., 2007-05-26)
4b7cc26 (git-am: use printf instead of echo on user-supplied strings, 2007-05-25)
-Peff