shell脚本中的 EOF 是什么意思?

EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,

你可以用EEE,MAMA等等其他的名字都可以。

EOF在这里通俗讲就是一个标记,他用来标记一段文字(一般都是多行的,省得编码麻烦,用"<<"加上一个标记就可以把一大段代码存入到一个变量中去了)

$a=<< “EOF” 的意思就是说:下一行开始,直到遇见“EOF”为止,所有的字符都按照指定的格式存入变量a中。


下面通过具体实例来感受下EOF用法的妙处:

1)向文件test.sh里输入内容:

[root@slave-server opt]# cat << EOF >test.sh
> 123123123
> 3452354345
> asdfasdfs
> EOF

[root@slave-server opt]# cat test.sh
123123123
3452354345
asdfasdfs


追加内容

[root@slave-server opt]# cat << EOF >>test.sh
> 7777
> 8888
> EOF

[root@slave-server opt]# cat test.sh
123123123
3452354345
asdfasdfs
7777
8888


覆盖

[root@slave-server opt]# cat << EOF >test.sh
> 55555
> EOF

[root@slave-server opt]# cat test.sh
55555


2)自定义EOF,比如自定义为wang:

[root@slave-server opt]# cat << wang > haha.txt
> ggggggg
> 4444444
> 6666666
> wang

[root@slave-server opt]# cat haha.txt
ggggggg
4444444
6666666
原文地址:https://www.cnblogs.com/klausage/p/14197767.html