日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/9/5 编程问答 55 如意码农
生活随笔 收集整理的這篇文章主要介紹了 (转)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 的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

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