shell中EOF的用法

#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!
这段脚本执行时,中间红色部分不会被执行:
 

 

posted @ 2017-11-07 16:52  畅优植物乳杆菌  阅读(11676)  评论(0编辑  收藏  举报