shell多行注釋

來源:互聯網
上載者:User

由於Shell不支援直接多行注釋,總結了以下Shell注釋多行的變通方法  一、通過Here Documents和:實現  1、最簡單方法 :<<BLOCK  ....注釋內容    BLOCK  把輸入重定義到前面的命令,但是:是空命令,所以就相當於注釋了。  如果注釋中有反引號的命令就會報錯。反引號部分沒被注釋掉,例如ab=`ls -l abc`就不會被注釋掉。  2、解決注釋中有反引號的問題  A、方法一  :<<BLOCK'  ....注釋內容    'BLOCK  B、方法二  :<<'BLOCK  ....注釋內容  BLOCK'  C、方法三  :<<'    ....注釋內容    '  以上三種方法都是通過在:<    BLOCK為Here Documents中的定義符號可以隨意起名,只要前後匹配就行了  3、簡單說說:指令和Here Documents  :就是什麼也不作(do nothing)即空命令。它的最基本作用就是在if,then條件中。在if語句中各部分必須接執行命令,但有時你不在乎條件是為真(或假)只在乎相反情況。  例如如果檢測存在某路徑什麼也不做,不存在就echo報錯。可寫為  if [ -d $DIRECTORY ];  then : #do nothing  eles  echo "the directory do not exit  "  fi  下面的例子  command<<word  any input  file content  word  是Here Documents的用法,意思是將以上的定義符(word,也可以理解成本地文檔名)傳給某指令碼或命令,word的內容為兩個word間輸入任意內容(word為Here Documents中的定義符號可以隨意起名,只要前後匹配就行了),這樣就可以在指令碼中用command來執行輸入而不必再重建一檔案。  常用在菜單螢幕中,例如:  cat <<Menu  1. List files  2.HELP  3.exit  Menu   :<<word  ....注釋內容  word  就類似於建一本地檔案,然後對它執行空命令,也就是什麼也不做,就相當於注釋了。  更詳細的Here Document說明可參考http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/abs-3.9.1_cn/html/here-docs.html  二、通過迴圈實現  1、while和:實現  while :   do   break  注釋內容  done  2、until和:實現  until :  注釋內容  done  注意注釋內容中是否含”done”,包含會造成意外結束迴圈  三、其它方法  1、方法一  : :||:<<\COMMENTS    ....注釋內容      COMMENTS    高手說上面這種方法最好,因為Here Documents部分不會執行到,只會分析到,應該不會對第二個:作實際的IO重新導向。  2、方法二  : << 'BLOCK'  可以將裡面的變數擴充關閉掉。  例如:  :~> A=B  :~> cat <<END  > this is \$A: $A  > END  this is $A: B  :~> cat <<'END'  > this is \$A: $A  > END  this is \$A: $A  3、方法三  :||{  ....注釋內容  }  這種方法不用到Here Documents,不過這種方法要注意注釋內容中的}  4、方法四  :<<\EOF    ....注釋內容    EOF  上面方法可關掉Here Documents中的擴充功能,在Here-Document中忽略ending marker前的任何字元  實際上使用<<\EOF <<‘EOF’,甚至<<<\EOF在文法上面更加的簡潔。不過這種方法同樣要注意注釋內容中的EOF

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.