在脚本内部,如果有多行内容需要一次性重定向到某一个文本文件,初学者有可能使用echo “文本” > a.txt
但是如果有多行内容,这样重定向肯定不方便,可以使用下面方法重定向
#!/bin/bash
cat <<EOF> a.txt
this is a test
EOF
这样就能以覆盖的形式输入cat <<EOF> a.txt
和下一个EOF
之间的所有内容
如果需要以追加的形式输入,则用cat <<EOF>> a.txt
除此之外,这一输入方式还可用于命令行,如果不想一行行echo到某一个文件内,可以在命令行采用同样方式输入
[root@localhost ~]# cat <<EOF>> a.txt #a.txt无需单独创建,此命令会自动创建a.txt文件
>this is a test #出现">"提示符后就可以任意往a.txt内追加内容了
>EOF #直到再次出现EOF,结束输入
[root@localhost ~]# ls #ls查看可以发现a.txt已经生成
a.txt
[root@localhost ~]# cat a.txt
this is a test #查看a.txt文件可看到有自己追加写入的内容