博客專欄

EEPW首頁 > 博客 > shell中的EOF用法

shell中的EOF用法

發(fā)布人:電子禪石 時(shí)間:2022-11-17 來源:工程師 發(fā)布文章

1、EOF 

 Shell中通常將EOF與 << 結(jié)合使用,表示后續(xù)的輸入作為子命令或子Shell的輸入,直到遇到EOF為止,再返回到主調(diào)Shell。
  可以把EOF替換成其他東西,意思是把內(nèi)容當(dāng)作標(biāo)準(zhǔn)輸入傳給程序。

  回顧一下< <的用法。當(dāng)shell看到< <的時(shí)候,它就會(huì)知道下一個(gè)詞是一個(gè)分界符。在該分界符以后的內(nèi)容都被當(dāng)作輸入,直到shell又看到該分界符(位于單獨(dú)的一行)。這個(gè)分界符可以是你所定義的任何字符串。

例子:自動(dòng)登錄mysql(root:root,passwd:123456),查詢test庫,test1表里的user=aa的記錄。

復(fù)制代碼代碼如下:

#!/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

這段腳本執(zhí)行時(shí),中間部分不會(huì)被執(zhí)行:
 

復(fù)制代碼代碼示例:

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


2、cat和eof結(jié)合使用具有追加功能

使用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


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

矢量控制相關(guān)文章:矢量控制原理


關(guān)鍵詞: shell

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉