日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

(转)cat > file << EOF 的用法

發布時間:2024/9/5 65 如意码农
生活随笔 收集整理的這篇文章主要介紹了 (转)cat > file << EOF 的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉:https://www.cnblogs.com/chenjingchao/p/6259572.html

cat> 文件名<<eof  
用來創建文件
在這之后輸入任何東西 都是在 文件里的
輸入完成之后EOF結尾 代表結束
比如 cat > 1.txt <<eof
1
2
3
4
5
eof 就是創建1.txt這個文件里面內容是 1 2 3 4 5 ============================================

兩個都是獲取stdin,并在EOF處結束stdin,輸出stdout。


但是<<-是什么意思呢?


先來看man中的說明:


If the redirection operator is <<-, then all leading tab characters are stripped from input lines and  the  line  containing  delimiter.   


翻譯過來的意思就是:如果重定向的操作符是<<-,那么分界符(EOF)所在行的開頭部分的制表符(Tab)都將被去除。


這可以解決由于腳本中的自然縮進產生的制表符。


通俗一點的解釋:


在我們使用cat <<EOF時,我們輸入完成后,需要在一個新的一行輸入EOF結束stdin的輸入。EOF必須頂行寫,前面不能用制表符或者空格。


比如,下面的語句就不會出錯:


  1. cat <<EOF
  2. Hello,world!
  3. EOF

如果結束分解符EOF前有制表符或者空格,則EOF不會被當做結束分界符,只會繼續被當做stdin來輸入。


而<<-就是為了解決這一問題:

  1. cat <<-EOF
  2. Hello,world!
  3. EOF

上面的寫法,雖然最后的EOF前面有多個制表符和空格,但仍然會被當做結束分界符,表示stdin的結束。


這就是<<和<<-的區別。

總結

以上是生活随笔為你收集整理的(转)cat &gt; file &lt;&lt; EOF 的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。