如何在 Linux shell 脚本中插入新行?

我想在多个 echo 语句之间插入一个新行。我试过 echo "hello\n",但是没有用。它正在打印 \n。我想要的结果是这样的:

Create the snapshots


Snapshot created
648173 次浏览

使用这个 echo 语句

 echo -e "Hai\nHello\nTesting\n"

输出是

Hai
Hello
Testing

你可以使用 Printf (1) 指挥官,例如

printf "Hello times %d\nHere\n" $[2+3]

printf命令可能接受参数,并且需要与标准 C Printf (3)函数类似(但不完全相同)的格式控制字符串..。

echo语句之间插入新行的最简单方法是插入没有参数的 echo,例如:

echo Create the snapshots
echo
echo Snapshot created

也就是说,没有任何参数的 echo将打印一个空行。

使用带有 -e标志和嵌入换行符 \n的单个 echo语句的另一种选择:

echo -e "Create the snapshots\n\nSnapshot created"

然而,这是不可移植的,因为 -e标志并不能在所有系统中一致地工作。如果你真的想这样做,一个更好的方法是使用 printf:

printf "Create the snapshots\n\nSnapshot created\n"

这在许多系统中工作得更可靠,尽管它不兼容 POSIX。请注意,必须在末尾手动添加 \n,因为 printf不像 echo那样自动添加换行符。

echo $'Create the snapshots\nSnapshot created\n'