重定向脚本内部的文本块

在脚本内部,如果有多行内容需要一次性重定向到某一个文本文件,初学者有可能使用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文件可看到有自己追加写入的内容

猜你喜欢

转载自blog.csdn.net/qq_42428671/article/details/105835070