On 06/14/2011 08:14 AM, Jim Meyering wrote:
> I have been using "warn/die"-style functions like these for a few years,
> and they are all based on printf (not echo) for precisely the reasons
> listed in the log below.  I'm surprised that I put an echo-based
> implementation into the relatively modern "init.sh".
> 
> Anyhow, this fixes it:

Not quite.

> 
> -warn_ () { echo "$@" 1>&$stderr_fileno_; }
> +warn_ () { printf '%s\n' "$@" 1>&$stderr_fileno_; }

"warn_ a b" now results in:

a
b

instead of the desired

a b

You want: printf '%s\n' "$*"

-- 
Eric Blake   [email protected]    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to