shell脚本EOF解析

Catalogue
  1. 1. 简介
  2. 2. 将内容输出到文件中
  3. 3. 嵌套使用
  4. 4. 参考

简介

使用EOF结合cat命令可以把多行数据写入文件中

这个EOF就像是标识符一样,标明开始、结束,换成STD也一样。

EOF嵌套使用就是把EOF改个名字罢了,不然shell哪知道谁跟谁是一对啊

通过cat配合重定向能够生成文件并追加操作,在它之前先熟悉几个特殊符号:

1
2
3
4
< :输入重定向
> :输出重定向
>> :输出重定向,进行追加,不会覆盖之前内容
<< :标准输入来自命令行的一对分隔号的中间内容.

因为 << 的意思是:标准输入来自命令行的一对分隔号的中间内容,也就是你在bash上的标准输入,如果有s=$(data)的话要使用转义字符s=$(data),不然这个就会执行了,写到文件里的就是s=3点11分。并且 `` 都要改成 $()。

1
2
3
4
5
6
7
8
9
10
11
12
[root@XX /]# cat << EOF
> hshhs
> ksk
> EOF
hshhs
ksk

[root@XX /]# cat << STD
> h1
> STD
h1

将内容输出到文件中

1
2
3
4
5
6
[root@XX /]# cat << EOF >> m
> hello m
> EOF
[root@XX /]# cat m
hello m

嵌套使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@XX /]# cat << EOF > m
> hello m
> bye m
> cat << STD > n
> hello n
> bye n
> EOF

[root@XX /]# cat m
hello m
bye m
cat << STD > n
hello n
bye n

参考

linux shell脚本EOF妙用

shell多行重定向方法(多重嵌套)