Linux下的here-document

  1. Here-documentshell

由於能夠直接在命令行中使用重定向,而不須要文件做爲重定向輸入數據,這種方式也稱爲內置重定向輸入(inline input redirection ,它將delimiter 之間的內容傳遞給cmd 做爲輸入內容(注意固定的格式形式),能夠方便將幾行文本傳遞給參數,好比打印幫助信息。而且here-documents中的行都支持參數擴展,命令替換,和數學表達式擴展,和文本用雙引號引發來的效果同樣。ide

 

cmd << HEREspa

Here Document Content  命令行

HERExml

 

  1. HERE只是一個標記,能夠是任務字符串,結尾HERE要頂格,HERE自己不支持擴展(參考第二條)文檔

  2. 第一個標記爲HERE時,here document content 支持參數擴展,命令替換,算術擴展,路徑擴展。能夠使用\ 來轉義here document content中的\,$,` ,引用特殊字符字符串

  3. 第一個標記改成-HERE,忽略每行文本前的TAB字符(不刪除空格字符),使用TAB以生成易於閱讀的shell腳本。input

  4. 第一個標記改成"HERE"或者'HERE',關閉變量替換cmd

  5. HERE document的另一種形式cmd <<<HERE, 其中HERE自己支持擴展替換。如cat <<<`ls`數學

 

e.g

cat >catfile <<"eof"

# <<結束輸入字符的意思 當鍵盤輸入eof 時結束輸入,至關於ctrl+d

 

生成臨時文檔

 cat <<-HERE > /tmp/db2v10.rsp

        PROD        =$prodType

        FILE        =$DB2BASE

        LIC_AGREEMENT   =ACCEPT

        INTERACTIVE =NONE

        CONFIG_ONLY =NO

        INSTALL_TYPE    =TYPICAL

    HERE

 

 

HERE document作多行批註

:<<HERE

批註1

批註2

批註3

若是你以爲無聊還能夠繼續批註4

HERE

:表明什麼都不作

相關文章
相關標籤/搜索