如何在Linux shell脚本中插入新行?
我想在多个echo语句之间插入一个新行。 我试过echo "hello\n"
,但它不工作。 这是打印\n
。 我想要这样的所需的输出:
Create the snapshots Snapshot created
在echo
语句之间插入新行的最简单方法是插入不带参数的echo
,例如:
echo Create the snapshots echo echo Snapshot created
也就是说,没有任何参数的回显将打印一个空行。
使用带-e
标志和embedded换行符的单个echo
语句的另一种替代方法\n
:
echo -e "Create the snapshots\n\nSnapshot created"
但是,这不是可移植的,因为-e
标志在所有系统中不能一致地工作。 一个更好的方法,如果你真的想这样做是使用printf
:
printf "Create the snapshots\n\nSnapshot created\n"
这在许多系统中工作更可靠,但它不符合POSIX标准。 请注意,您必须在最后手动添加\n
,因为printf
不会像echo
一样自动追加换行符。
使用这个echo语句
echo -e "Hai\nHello\nTesting\n"
输出是
Hai Hello Testing
echo $'Create the snapshots\nSnapshot created\n'
你可以使用printf(1) 命令 ,例如
printf "Hello times %d\nHere\n" $[2+3]
printf
命令可以接受参数,并且需要格式控制string与标准C printf(3)函数类似(但不完全相同) 。