一、單選注釋
以“#”開頭的行就是注釋,會被解譯器忽略。
複製代碼 代碼如下:
#--------------------------------------------
# 這是一個自動打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