bash:printf(“%.s”不';t在s之后保留空格

bash:printf(“%.s”不';t在s之后保留空格,bash,printf,whitespace,Bash,Printf,Whitespace,我有一段代码如下: printf "%.s " $(seq 1 $count) printf "%.shelloworld " $(seq 1 $count) 它实际上属于else条件,它的任务是打印出来 空格$计数次数 如果我输入如下字符串,效果很好: printf "%.s " $(seq 1 $count) printf "%.shelloworld " $(seq 1 $count) 但当我只是在空白处加上 有什么解决办法吗?适合我: # printf "%.s

我有一段代码如下:

printf "%.s  "  $(seq 1 $count)
printf "%.shelloworld  "  $(seq 1 $count)
它实际上属于else条件,它的任务是打印出来 空格$计数次数

如果我输入如下字符串,效果很好:

printf "%.s  "  $(seq 1 $count)
printf "%.shelloworld  "  $(seq 1 $count)
但当我只是在空白处加上

有什么解决办法吗?

适合我:

# printf "%.s  "  $(seq 1 10) | hexdump -C
00000000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000010  20 20 20 20                                       |    |
这是正在输入的确切命令,还是正在发生其他变量替换?因为如果你没有引用某个特定的变量展开式,你似乎正在经历的事情就会发生:

# frm="%.s  "; printf $frm $(seq 1 10) | hexdump -C
[no output]
鉴于:

# frm="%.s  "; printf "$frm" $(seq 1 10) | hexdump -C
00000000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000010  20 20 20 20                                       |    |

你的代码为我打印空白。你确定它对你不起作用吗?目前可能的复制品,我有:if[bla bla];然后printf bla elif[bla];然后printf“|--”@KevinMcInerney:您是否有一行代码,当粘贴到新的终端时,它会显示问题?@KevinMcInerney您可以通过
bash-x
运行脚本,它会准确地显示shell在运行时如何解释脚本。