shell中的EOF


轉載

原文地址:http://blog.163.com/njut_wangjian/blog/static/1657964252013112152418345/

在shell編程中,”EOF“通常與”<<“結合使用,“<<EOF“表示后續的輸入作為子命令或子shell的輸入,直到遇到”EOF“,再次返回到主調shell,可將其理解為分界符(delimiter)。既然是分界符,那么形式自然不是固定的,這里可以將”EOF“可以進行自定義,但是前后的”EOF“必須成對出現且不能和shell命令沖突。其使用形式如下:
交互式程序(命令)<<EOF command1 command2 ... EOF
       ”EOF“中間的內容將以標准輸入的形式輸入到”交互式程序“,當shell看到”<<“知道其后面輸入的分界符,當shell再次看到分界符時,兩個分界符中間的部分將作為標准輸入。
       "EOF"一般常和cat命令連用。
注意,最后的”EOF“必須單獨占一行。
 
下面以cat命令為例講解”EOF“使用。一般有以下兩種形式
1.cat<<EOF
2.cat<<EOF>filename或者cat<<EOF>>filename( cat<<EOF>filename或者cat<<EOF>>filename )
其實,第一種形式和第二種形式沒有什么本質的區別,第一種形式將內容直接輸出到標准輸出(屏幕),而第二種形式將標准輸出進行重定向,將本應輸出到屏幕的內容重定向到文件而已。
 
例1:
#cat<<EOF
>12
>34D
>EOF
12
34D
 
例2:
#cat>>filename<<EOF
>DHA
>23
>EOF
#cat filename
DHA
23
 


免責聲明!

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



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