Linux 如何在bash中打印多个空格,然后在同一行上打印单词?

Linux 如何在bash中打印多个空格,然后在同一行上打印单词?,linux,bash,shell,sh,Linux,Bash,Shell,Sh,我需要在行的开始处打印word,并使用变量设置空格计数 此代码不起作用: spaces=20 echo "spaces: $spaces" for ((n=0;n<$spaces;n++)) do printf '%s' '' done printf '%s' 'hello!' 预期产出: spaces: 20 hello! 更改此项: printf '%s' '' 为此: p

我需要在行的开始处打印word,并使用变量设置空格计数

此代码不起作用:

spaces=20

echo "spaces: $spaces"

for ((n=0;n<$spaces;n++))
do
    printf '%s' ''
done
    
printf '%s' 'hello!'
预期产出:

spaces: 20
    
                    hello!
更改此项:

    printf '%s' ''
为此:

    printf '%s' ' '
甚至这个:

    printf ' '
或者用以下内容替换整个程序:

更改此项:

    printf '%s' ''
为此:

    printf '%s' ' '
甚至这个:

    printf ' '
或者用以下内容替换整个程序:

您只需使用single printf即可获得所需数量的空格填充:

printf '%*s\n' "$spaces" 'hello!'
您只需使用single printf即可获得所需数量的空格填充:

printf '%*s\n' "$spaces" 'hello!'