是否可以在不重新输入 Linux 脚本中的 echo 的情况下在下一行打印?

问题描述

如何在不重新输入 echo 的情况下在 shell 中获得这样的输出

firstline
secondline
thirdline

我知道的代码是通过重新输入 echo 来实现的,例如

echo "firstline"
echo "secondline"
echo "thirdline"

是否可以在不重新输入 echo 的情况下以我想要的方式打印它,如果,如何打印?

解决方法

您可以在字符串中放置换行符。

echo "firstline
secondline
thirdline"

或将 \n 转义序列与 $'' 一起使用。

echo $'firstline\nsecondline\nthirdline'

或使用 printf

printf '%s\n' firstline secondline thirdline

printf 自动重复,直到用完所有参数。

,

echo 有一个 -e 选项: -e 启用反斜杠转义的解释

~$ echo -e "line1\nline2\nline3"
line1
line2
line3