[Top][All Lists]

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

Re: [PATCH] printf: add %#s alias to %b

From: William Bader
Subject: Re: [PATCH] printf: add %#s alias to %b
Date: Wed, 6 Sep 2023 02:13:44 +0000

Has bash ever had a change before that would break valid scripts?

Could the printf format change be settable by a variable or by an option like 
the -e/-E in echo?

Is it necessary for bash printf to match C printf?

I suppose that it is already decided.

Could the bash printf implementation warn if the new %b is passed something 
that doesn't look like a numeric string?

Does shellcheck track variables well enough to warn if the new %b is passed 
something that doesn't look like a numeric string?

Regards, William

<> on behalf of Chet Ramey 
Sent: Tuesday, September 5, 2023 4:44 PM
To: Dragan Simic <>
Cc: <>; enh <>; Eric Blake 
<>; Rob Landley <>; 
<>; <>
Subject: Re: [PATCH] printf: add %#s alias to %b

On 9/5/23 4:32 PM, Dragan Simic wrote:
> On 2023-09-05 22:25, Chet Ramey wrote:
>> On 9/5/23 3:58 PM, enh wrote:
>>> On Fri, Sep 1, 2023 at 6:59 AM Chet Ramey <> wrote:
>>>> I think you'll find that, regardless of its origins, there are more
>>>> scripts
>>>> using the %b specifier than you think.
>>> i'd personally never heard of printf(1) %b before this thread, but
>>> debian code search agrees with you:
>> It's a POSIX invention dating from at least 1991 (P1003.2-D11).
>> The POSIX guidance to use it as a portable way to replace SysV echo has
>> dated from the same time. It's a pretty big lift to suddenly invalidate
>> all that prior art. ("POSIX giveth, and POSIX taketh away.").
> Are there any official explanations why is the invalidation actually
> happening now?

C23 is going to use %b to print binary literals.

``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU

reply via email to

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