我无法用重复的单个字符制作字符串。 当我没有将它分配给变量时,这是有效的:
printf "*%.0s" $(seq 1 $(expr $1 / 2))
这只是将脚本名称分配给test
:
printf -v test "*%.0s" $(seq 1 $(expr $1 / 2))
我也尝试过:
test=$(printf "*%.0s" $(seq 1 $(expr $1 / 2)))
但它做同样的事情。
为什么这不起作用,是否有另一种方法来构建字符串并将其分配给变量?
答案 0 :(得分:1)
test
的价值很好;你只需要引用它的扩展:
echo "$test"
否则,值中的星号将通过路径名扩展扩展到当前目录的内容。