新闻  |   论坛  |   博客  |   在线研讨会
shell中的EOF用法
电子禅石 | 2022-11-17 13:01:17    阅读:10875   发布文章

1、EOF 

 Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。
  可以把EOF替换成其他东西,意思是把内容当作标准输入传给程序。

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

例子:自动登录mysql(root:root,passwd:123456),查询test库,test1表里的user=aa的记录。

复制代码代码如下:

#!/bin/sh
mysql -uroot -p123456 <<EOF
use test;
select * from testaa while a=10000; ###1000 not usr single quote mark,because a is int
# type,only char type need single quote mark.
exit
EOF

特殊用法:

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

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

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

复制代码代码示例:

[root@newserver shell]# sh eof.sh
start
end


2、cat和eof结合使用具有追加功能

使用Cat和EOF多行输入

cat >> /root/test.txt <<EOF 

abcdef 

hello word ! 

FFFFFFFFFFFFFFFFFFFFFFF 

EOF

以上的脚本命令是,在a.txt文件后面加上三行代码。

 

 

参考:

http://www.crazycen.com/linux/1433.html

http://zhidao.baidu.com/link?url=rVKjt2ln6T1xZ-ZiSQLLebrainXqTeF6IImMAEbvL_T9zUYInioOY-oWDY38QD2IUeEwT8fFfeGphoIXg890SK

http://www.jquerycn.cn/a_9335

http://www.jbxue.com/article/2660.html


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客