the \* to * works also
leftover of testing
.. needs set -f

On Sat, Jan 25, 2025, 3:34 PM microsuxx <fxmb...@gmail.com> wrote:

> ~ $ set -f
> ~ $ foo=$(printf "%*s\n" 80 " " | tr " " "*") ; echo $foo
>
> ********************************************************************************
>
> ~ $ printf -v v '%*s' 200 ' ' ; v=${v// /\*} ; echo $v
> ********************************************************************************************************************************************************************************************************
>
> On Sat, Jan 25, 2025, 2:41 PM Ross <r...@smith-bath.co.uk> wrote:
>
>>
>> Configuration Information [Automatically generated, do not change]:
>> Machine: x86_64
>> OS: linux-gnu
>> Compiler: gcc
>> Compilation CFLAGS: -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-
>> frame-pointer -flto=auto -ffat-lto-objects -fstack-protector-strong -
>> fstack-clash-protection -Wformat -Werror=format-security -fcf-
>> protection -Wall
>> uname output: Linux X220-Bravo 6.8.0-51-generic #52-Ubuntu SMP
>> PREEMPT_DYNAMIC Thu Dec  5 13:09:44 UTC 2024 x86_64 x86_64 x86_64
>> GNU/Linux
>> Machine Type: x86_64-pc-linux-gnu
>>
>> Bash Version: 5.2
>> Patch Level: 21
>> Release Status: release
>>
>> Description:
>> From the command line
>>     printf "%*s\n" 80 " " | tr " " "*"
>> does just what I'd expect generating a banner line of asterisks.
>>
>> However:
>>     foo=$(printf "%*s\n" 80 " " | tr " " "*")
>>     echo $foo
>> acts very differently; it seems to perform ls or something similar.
>>
>> The same occurs with the more standard printf "%80s" form.
>>
>> Repeat-By:
>> As above.
>>
>> Fix:
>> Unknown.
>>
>>
>>

Reply via email to