使用printf重复一个字符并输出到变量

时间:2015-11-26 11:11:32

标签: string bash printf

我无法用重复的单个字符制作字符串。 当我没有将它分配给变量时,这是有效的:

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)))

但它做同样的事情。

为什么这不起作用,是否有另一种方法来构建字符串并将其分配给变量?

1 个答案:

答案 0 :(得分:1)

test的价值很好;你只需要引用它的扩展:

echo "$test"

否则,值中的星号将通过路径名扩展扩展到当前目录的内容。