cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;EOF是“end of file”,表示文本结束符。结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的目的。

cat >test.sh <<EOF

>#!/bin/bash

>echo "test"

>EOF

#####

cat test.sh

#!/bin/bash

echo "test"

------------------------------------------------------

或者追加,cat >>test.sh <<EOF

>...

>EOF

总之,当s h e l l看到<<的时候,它就会知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到s h e l l又看到该分界符(位于单独的一行)。这个分界符可以是你所定义的任何字符串。