在bash中用新行回显文本

51 linux bash

我想将文本附加到文件中。所以我用bash写

echo text >> file.conf
Run Code Online (Sandbox Code Playgroud)

但是它不会留下新的一行。所以我只能这样做一次。如何添加新行?

aki*_*ira 107

选项1:

% echo -e "text\n" >> file.conf
Run Code Online (Sandbox Code Playgroud)

选项2:

% ( echo text ; echo "" ) >> file.conf
Run Code Online (Sandbox Code Playgroud)

选项3:

% echo text >> file.conf
% echo ""  >> file.conf
Run Code Online (Sandbox Code Playgroud)

  • 您可以删除空参数(`echo ""` => `echo`)。此外,选项 4:`echo $'text\n'`,它对任何命令都很有用,因为 `$''` 由 bash 解释。 (8认同)

小智 11

我认为正确的答案应该是你的命令

回显文本>> file.conf

确实添加了额外的行,但新文本之后,而不是之前。

我猜您想在该文本之前添加额外的一行,可能是因为您的初始文件没有以新行结尾。在这种情况下,您可以使用

echo -e "\ntext" >> file.conf

相反,因为该-e选项允许您使用换行符\n