使用 printf 重复变量

使用 printf 重复变量

如果我使用以下命令:

printf "%.0s┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃\n" {1..3}

我得到这样的输出:

┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃
┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃
┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃

如何从变量中获取重复的字符来获得相同的结果?

我尝试了这种方法:

var="┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃"
printf '%.0s%s\n' {1..3} "$var"

但它不起作用,我最终得到的是这样的:

2
┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃

答案1

用这个:

$ var="┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃"

$ printf "$var"'%.0s\n' {1..3}

┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃
┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃
┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃

答案2

var="┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃"
printf '%s\n' "$var" "$var" "$var"

相关内容