我想要这个输出:abcde
当我尝试时:
for letter in {a..e}; do
echo $letter
done
我得到这个输出:
a
b
c
d
e
我试过这个:
for letter in {a..e}; do
echo -e "\t$letter"
done
输出:
a
b
c
d
e
它只会将其传输到整行到下一个选项卡!
答案1
默认情况下,您的 Echo 在每次运行后都会附加一个换行符。你可以
提供整个大括号扩展作为参数,以便 Echo 运行一次。它已经用空格分隔了它的参数。
echo {a..e}
使用
-n
以便在每次运行后不出现换行符,在变量扩展后手动添加一个空格。for letter in {a..e}; do echo -n "$letter " done
使用 Printf (为什么 Printf 优于 Echo?)。
printf "%s " {a..e}