我有一段这样的代码:
printf "%.s " $(seq 1 $count)
它实际上属于其他条件,它的工作是打印出来 whitespaces $ count times ..
如果输入这样的字符串,它可以正常工作:
printf "%.shelloworld " $(seq 1 $count)
但不是当我只是放入空格时。
有任何解决方法吗?
答案 0 :(得分:1)
适合我:
# 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 | |