32
我想将多行(5或更多)写入我要在脚本中创建的文件。我可以通过echo >> filename
来做到这一点。但是我想知道做这件事的最好方法是什么?如何在使用shell脚本的文件中追加多行文本
我想将多行(5或更多)写入我要在脚本中创建的文件。我可以通过echo >> filename
来做到这一点。但是我想知道做这件事的最好方法是什么?如何在使用shell脚本的文件中追加多行文本
您可以使用此文件:
cat <<EOF >> outputfile
some lines
of text
EOF
我通常使用所谓的“这里的文档”丹尼斯建议。另一种方法是:
(echo first line; echo second line) >> outputfile
这应该有类似性能的庆典,作为(....)启动子shell,但回声“内联” - bash中不运行/斌/回声,但确实回声通过它自己。
它可能更快,因为它不涉及exec()。
如果您想使用文本中其他命令的输出,此样式更加有用。
+1:但只适用于固定文本,不在脚本中生成。没有替代品等等吧? – 2011-02-14 08:44:55
@Valentin:它会进行变量,算术和命令替换,除非你像这样引用开始分隔符来压制它,例如:``EOF'`。 – 2011-02-14 08:47:14