shell中EOF的用法


#EOF只是一個分界符,當然也可以用abcde等等替換

當shell遇到<<時,它知道下一個詞是一個分界符。在該分界符以后的內容都被當作輸入,直到shell又看到該分解符(位於單獨一行)

此分界符可以是所定義的任何字符串,其實,不一定要用EOF,只要是‘內容段’中沒有出現的字符串,都可以用來替代EOF,完全可以換成abcd之類的字符串,只是一個開始和結束的標志而已

常用<1>

[root@www ~]# cat << EOF >> cql03.text
> strace iostat vmstat sar
> top uptime
> EOF
[root@www ~]# cat cql03.text 
strace iostat vmstat sar
top uptime

常用<2>

#!/bin/bash
#EOF用法<2>
#解決shell中交互模式下輸入的問題,以建立yum本地倉庫配置文件為例
cat << EOF >> /etc/yum.repos.d/aa.repo
[base]
name=1
baseurl=file:///mnt
gpgcheck=0
EOF

特殊用法

用來注釋整段腳本代碼。
#!/bin/bash
echo "明天你好"
:<<EOF
echo "床前明月光"
echo "hello word"
EOF
echo "byebye!"
[root@www ~]# sh cql01.sh 
明天你好
byebye!
這段腳本執行時,中間紅色部分不會被執行:
 

 


免責聲明!

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



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