我正在尝试在变量中累积格式化字符串。类似于:
for i in 1 2 3; do
a="${a} `printf "%-10s %s" "hello" "world"`"
done
但是,当我回显输出时,即使我使用-e
或-n
标志以及echo命令,它也不会保留格式。我该怎么做?
由于
答案 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