Bash 字符串替换添加前面的 space

Bash string substitution adds a preceding space

为什么echo -e {1..3}"\n"前面加了一个space.

1
 2
 3

我设法用 echo -en "\r"{1..3}"\n"

打印了想要的输出
1
2
3

因为 {1..3}"\n" 扩展为 1\n 2\n 3\n,并且 echo 在其参数之间打印空格。

改用printf

$ printf '%s\n' {1..3}
1
2
3