如何以水平格式重复回显输出?

如何以水平格式重复回显输出?

我想要这个输出: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}
    

相关内容