linux命令 EOF

Posted 萧韶九成

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令 EOF相关的知识,希望对你有一定的参考价值。

在shell脚本中,通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell。

EOF只是一个分界符,当然也可以用abcde替换。
当shell遇到<<时,它知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。
此分界符可以是所定义的任何字符串,其实,不一定要用EOF,只要是“内容段”中没有出现的字符串,都可以用来替代EOF,完全可以换成abcde之类的字符串,只是一个起始和结束的标志罢了。

1,command<<EOF
(内容)
EOF
例如:
 

代码示例:
#!/bin/bash
#Filename:do.sh
su - oracle -c "
export ORACLE_SID=orcl
sqlplus /nolog <<EOF
connect / as sysdba
startup;
exit;
EOF"
sleep 5
su - oracle -c 
lsnrctl start

说明:
将“内容段”整个作为命令的输入。
用su命令读取整段命令,并逐行执行。

 

2,特殊用法:
: << COMMENTBLOCK
   shell脚本代码段
COMMENTBLOCK
用来注释整段脚本代码。 : 是shell中的空语句。
 

echo start
:<<COMMENTBLOCK
echo
echo "this is a test"
echo
COMMENTBLOCK
echo end

这段脚本执行时,中间部分不会被执行:
 

代码示例:
[[email protected] shell]# sh eof.sh
start
end



























以上是关于linux命令 EOF的主要内容,如果未能解决你的问题,请参考以下文章

linux删除命令rm -rf(linux删除命令行)

linux查看路径命令

linux查看历史命令记录及时间(linux查看历史命令执行时间)

转载每天一个Linux命令

linux命令中显示之前操作过的所有命令的命令是啥

linux 好用的命令