<b>3.4 變量定義技巧總結</b>
<b></b>
可以多學習和模仿作業系統自帶的/etc/init.d/functions函數庫腳本的定義思路,多學習linux系統腳本中的定義,有經驗的讀者最終應形成一套适合自己的規範和習慣。
(1)變量名及變量内容定義小結
變量名隻能為字母、數字或下劃線,隻能以字母或下劃線開頭。
變量名的定義要有一定的規範,并且要見名知意。
示例:
oldboyage=1 #<==每個單詞的首字母大寫的寫法
oldboy_age=1 #<==單詞之間用"_"的寫法
oldboyagesex=1 #<==駝峰文法: 首個單詞的首字母小寫,其餘單詞首字母大寫
oldboyage=1 #<==單詞全大寫的寫法
一般的變量定義、指派常用雙引号;簡單連續的字元串可以不加引号;希望原樣輸出時使用單引号。
希望變量的内容是指令的解析結果時,要用反引号``,或者用$()把指令括起來再指派。
(2)shell定義變量時使用“=”的知識
“a=1”裡等号是指派的意思;比較變量是否相等時也可以用“=”或“==”。
(3)列印輸出及使用變量的知識
列印輸出或使用變量時,變量名前要接$符号;變量名後面緊接其他字元的時候,要用大括号将變量部分單獨括起來,以防止出現“金庸新著”的問題;在unset、export、(())等場景中使用但不列印變量時不加$,這個有些例外。
列印輸出或使用變量時,一般加雙引号或不加引号;如果是字元串變量,最好加雙引号;希望原樣輸出時使用單引号。
關于變量命名的更多規範可參考第14章。