#EOF只是一个分界符,当然也可以用abcde等等替换
当shell遇到<<时,它知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分解符(位于单独一行)
此分界符可以是所定义的任何字符串,其实,不一定要用EOF,只要是‘内容段’中没有出现的字符串,都可以用来替代EOF,完全可以换成abcd之类的字符串,只是一个开始和结束的标志而已
常用<1>
[root@www ~]# cat << EOF >> cql03.text > strace iostat vmstat sar > top uptime > EOF [root@www ~]# cat cql03.text strace iostat vmstat sar top uptime
常用<2>
#!/bin/bash #EOF用法<2> #解决shell中交互模式下输入的问题,以建立yum本地仓库配置文件为例 cat << EOF >> /etc/yum.repos.d/aa.repo [base] name=1 baseurl=file:///mnt gpgcheck=0 EOF
特殊用法
用来注释整段脚本代码。 #!/bin/bash echo "明天你好" :<<EOF echo "床前明月光" echo "hello word" EOF echo "byebye!" [root@www ~]# sh cql01.sh 明天你好 byebye! 这段脚本执行时,中间红色部分不会被执行: