Shell指令碼注釋寫法_linux shell

來源:互聯網
上載者:User

一、單選注釋

以“#”開頭的行就是注釋,會被解譯器忽略。

複製代碼 代碼如下:

#--------------------------------------------
# 這是一個自動打ipa的指令碼,基於webfrogs的ipa-build書寫:
# https://github.com/webfrogs/xcode_shell/blob/master/ipa-build

# 功能:自動為etao ios app打包,產出物為14個渠道的ipa包
# 特色:全自動打包,不需要輸入任何參數
#--------------------------------------------

##### 使用者配置區 開始 #####
#
#
# 項目根目錄,推薦將此指令碼放在項目的根目錄,這裡就不用改了
# 應用程式名稱,確保和Xcode裡Product下的target_name.app名字一致
#
##### 使用者配置區 結束  #####

二、多行注釋

如果在開發過程中,遇到大段的代碼需要臨時注釋起來,過一會兒又取消注釋,怎麼辦呢?每一行加個#符號太費力了,可以把這一段要注釋的代碼用一對花括弧括起來,定義成一個函數,沒有地方調用這個函數,這塊代碼就不會執行,達到了和注釋一樣的效果。例子:

複製代碼 代碼如下:

notExce(){ 
cp ./a.txt ./b.txt 
mkdir -p {1,2,3}/{4,5,6} 
echo "ok" 
}

但如果我們需要對一大段的shell指令碼進行注釋,倘若我們都在每行前面添加#,這對我們來說,確實不是一件很令人舒服的事情,那麼,在shell中,有沒辦法採用類似c語言的注釋/* ...*/來達到一整段的注釋效果呢?筆記經過測試,發現下面的方法是ok的。

複製代碼 代碼如下:

:<<!EOF!
cp ./a.txt ./b.txt
mkdir -p {1,2,3}/{4,5,6}
echo "ok"
!EOF!

甚至可以把要注釋的shell整體變成一個函數來達到不讓執行的目的。如例2。

把shell多行注釋掉,還有如下方法:

第一種:基於Here Documents和:實現,和例3類似

如果被注釋的內容中有反引號會報錯

複製代碼 代碼如下:
:<<BLOCK
....被注釋的多行內容
BLOCK

解決注釋中有反引號的問題

複製代碼 代碼如下:
:<< 'BLOCK
....被注釋的多行內容
BLOCK'

或者乾脆只留單引號
複製代碼 代碼如下:
:<< '
....被注釋的多行內容
'

第二種:當注釋內容中有括弧時報語法錯誤錯,但裡面有反引號,引號時沒有問題

複製代碼 代碼如下:
:||{
....被注釋的多行內容
}

第三種:會對注釋內容中的括弧引號等語法錯誤報錯

複製代碼 代碼如下:
if false ; then
 ....被注釋的多行內容
fi

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.