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

时间:2013-12-12 05:59:38

标签: linux bash newline

我想在多个echo语句之间插入一个新行。我试过了echo "hello\n",但它没有用。正在打印\n。我希望得到如下所需的输出:

Create the snapshots

Snapshot created

4 个答案:

答案 0 :(得分:147)

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

echo Create the snapshots
echo
echo Snapshot created

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

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

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

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

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

这在许多系统中更可靠,但它不符合POSIX标准。请注意,您必须在结尾处手动添加\n,因为printf不会自动附加换行符echo

答案 1 :(得分:56)

使用此echo语句

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

输出

Hai
Hello
Testing

答案 2 :(得分:18)

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

答案 3 :(得分:14)

您可以使用printf(1) 命令,例如像

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

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