[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: printf %q represents null argument as empty string.
From: |
Dan Douglas |
Subject: |
Re: printf %q represents null argument as empty string. |
Date: |
Fri, 11 Jan 2013 15:48:05 -0600 |
User-agent: |
KMail/4.8.3 (Linux/3.4.6-pf+; KDE/4.8.3; x86_64; ; ) |
On Friday, January 11, 2013 04:37:56 PM Chet Ramey wrote:
> On 1/11/13 4:05 PM, Dan Douglas wrote:
>
> >
> > I don't understand what you mean. The issue I'm speaking of is that printf
> > %q
> > produces a quoted empty string both when given no args and when given one
> > empty arg. A quoted "$@" with no positional parameters present expands to
> > zero
> > words (and correspondingly for "${arr[@]}"). Why do you think "x${@}x" is
> > special? (Note that expansion didn't even work correctly a few patchsets
> > ago.)
> >
> > Also as pointed out, every other shell with a printf %q feature disagrees
> > with
> > Bash. Are you saying that something in the manual says that it should do
> > otherwise? I'm aware you could write a wrapper, I just don't see any
> > utility
> > in the default behavior.
>
> This is how bash behaves:
>
> The format is reused as necessary to consume all of the argu-
> ments. If the format requires more arguments than are supplied,
> the extra format specifications behave as if a zero value or
> null string, as appropriate, had been supplied.
>
> This is how Posix specifies printf to work. I know it doesn't have %q,
> but bash doesn't really differentiate between %q and %s.
>
> Chet
Ah so I'm confusing the very same thing as the "no argument along with %()T" you
pointed out to me on earlier... so this would have to be yet another special
case.
Funny that never crossed my mind.
--
Dan Douglas
- printf %q represents null argument as empty string., Dan Douglas, 2013/01/11
- Re: printf %q represents null argument as empty string., John Kearney, 2013/01/11
- Re: printf %q represents null argument as empty string., Dan Douglas, 2013/01/11
- Re: printf %q represents null argument as empty string., John Kearney, 2013/01/11
- Re: printf %q represents null argument as empty string., Dan Douglas, 2013/01/11
- Re: printf %q represents null argument as empty string., Dan Douglas, 2013/01/12
- Re: printf %q represents null argument as empty string., John Kearney, 2013/01/12
- Re: printf %q represents null argument as empty string., Chet Ramey, 2013/01/12
- Re: printf %q represents null argument as empty string., John Kearney, 2013/01/12