如何在Linux shell脚本中插入新行?
如何在Linux shell脚本中插入新行?
这个问题已经在这里有了答案:
我想在多个echo语句之间插入一个新行。我尝试过echo\"hello\\n\"
,但它不起作用。它打印出\\n
。我希望得到以下期望输出:
Create the snapshots Snapshot created
admin 更改状态以发布 2023年5月22日
在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
一样自动追加一个新行。