"The 'printf' in shells is different than the 'printf' specified by ISO
C/POSIX. The documentation for the bash built-in can be found here:
$ info '(bash)Bash Builtins'
The 'printf' provided in your C library should be found in man page
section 3. Your system probably comes with a program (no
>I guess it could be more explicit
Yes, that is essentially what I was asking for. There are several
standards for printf, and it was ambiguous which one was being
referred to. There's the C standards, the POSIX standards, and the
Single Unix Specifications. I didn't know which one was being refer
POSIX Issue 8 will require that this feature is supported, see
https://www.austingroupbugs.net/view.php?id=1592
Perhaps a future version of Bash will have it.
--
Oğuz
On Mon, May 27, 2024, at 8:58 PM, porterleete wrote:
> The man page for printf says that for integer m, %m$ lets you
> specify which argument that the conversion specification will use.
> Similarly, using *m$ instead of * in a conversion specification lets
> you specify which argument the * will
porterleete writes:
> Fix:
> Either update the documentation of what printf in bash actually does.
> If printf is using a standard for printf other than "what the biggest
> C compilers currently do", document which standard it's using or
> update it to the newest standard used by gcc and clang.