[英]bash: printf (“%.s ”) doesn't keep whitespaces after the s
我有一段这样的代码:
printf "%.s " $(seq 1 $count)
它实际上属于else条件,其工作是打印$ 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 | |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.