shell中的EOF用法


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文件后面加上三行代碼。

喜歡這篇文章?歡迎打賞~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM