2017年12月10日 星期日

Here string <<< 命令列直接輸出

前面提過可以用 << here document從命令列直接產生檔案,但這個方法最終還要給一個檔案結束的標記。如果用here string <<< 的話,就直接輸出結果,下面幾個指令都是把輸入的字串小寫改成大寫:
  • echo "one two three" | tr a-z A-Z
  • tr a-z A-Z <<< 'one two three'
  • tr a-z A-Z <<< "one two three"
這邊的 <<< 就是所謂的here string。若是要把這個字串存到檔案aFile裡面,輸入:
  • tr a-z A-Z <<< 'one two three' > aFile
  • tr a-z A-Z <<< 'one two three' >> aFile
這裡 > 代表產生新檔案,而代表 >> 的是附加到檔案後面。
Here string可以視為pipe | 的另外一種寫法,從後方輸入

使用here string搭配read可以一行指定多個變數:
  1. read a b c <<< 'one two three'
  2. echo $c $b $a
    three two one
以上用法接參考維基百科Here document的Here strings那段
指令read的使用可以參考這篇 Bash讀檔案一次讀一行
_EOF_

沒有留言:

張貼留言