[英]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.