如何将格式化的字符串回显到变量中

时间:2014-01-14 13:01:45

标签: bash

我正在尝试在变量中累积格式化字符串。类似于:

for i in 1 2 3; do
    a="${a} `printf "%-10s %s" "hello" "world"`"
done

但是,当我回显输出时,即使我使用-e-n标志以及echo命令,它也不会保留格式。我该怎么做?

由于

1 个答案:

答案 0 :(得分:5)

你在回音时引用了你的变量吗?如果这样做,您将看到格式保存。

$ for i in 1 2 3; do     a="${a} `printf "%-10s %s" "hello" "world"`"; done
$ echo "$a"
 hello      world hello      world hello      world

虽然不引用以格式破坏所有内容:

$ echo $a
hello world hello world hello world