[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ${var:+"quo ted"} and similar, inside unquoted here-docs

From: Eric Blake
Subject: Re: ${var:+"quo ted"} and similar, inside unquoted here-docs
Date: Mon, 30 Aug 2010 08:57:16 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20100806 Fedora/3.1.2-1.fc13 Mnenhy/0.8.3 Thunderbird/3.1.2

[adding bug-bash]

On 08/29/2010 08:48 AM, Ralf Wildenhues wrote:
With Solaris 10 sh (and others):

${var-"quo  ted"}

"quo  ted"

Whereas with bash (and others):

quo  ted

Ouch. New one to me. ksh, zsh, and dash do not echo the quotes, so I'm thinking it may be a bash bug; hence the cc.

Eric, did you have this in your recent autoconf.texi additions already?
It can be a problem for all of the stuff that gets expanded into here

Now, for the good news - the bug is easy to work around, while still using a here-doc. A here-doc is parsed in a different context (no word splitting, no filename expansion) than normal, so /bin/sh does NOT have the bug related to "bad parameter" messages if you omit the quotes.

All shells that I had access to reliably gave the same output for:

cat <<EOF
${var-quo  ted}

quo  ted

Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]