在shell中,文件分界符通常写成 EOF,你也可以写成其他任何字符串紧跟在<<符号后,意思是分界符后的内容将被当做标准输入stdin传给 << 前面的命令,直到再次在独立的一行遇到这个文件分界符EOF或者其他任何字符,注意是独立一行,EOF前面不能有空格。传递的命令一般是 cat,用来实现一些多行的屏幕输入或者创建一些临时文件。

1、输出多行文本到屏幕

[root@localhost ~]# cat <<-EOF
tom 16
jack 20
alice 19
EOF

# 输出
tom 16
jack 20
alice 19

2、结合 cat 命令用重定向 > 实现创建一个多行文件

[root@localhost ~]# cat <<-EOF > test.txt
> mac 2000 500
> winxp 4000 300
> bsd 1000 600
> linux 1000 200
> SUSE 4000 300
> Debian 600 200
> EOF

查看创建的 test.txt 文件 

[root@localhost ~]# cat test.txt 
mac 2000 500
winxp 4000 300
bsd 1000 600
linux 1000 200
SUSE 4000 300
Debian 600 200