shell指令碼一般選擇bash作為直譯器,指令碼開頭應為
#!/bin/bash 或 #!/bin/sh
在指令碼的開頭加注釋,說明指令碼作者、編寫時間、指令碼功能,最好可以加上指令碼的版本號。shell中指令碼注釋用#
,注釋語句和#
號之間有乙個空格
#!/bin/bash #指令碼版本 #指令碼作者 #指令碼時間 #指令碼功能
通過set
命令新增指令碼除錯,如果報錯,指令碼直接退出,不繼續執行,對於管道錯誤也可以直接退出
#!/bin/bash #指令碼版本 #指令碼作者 #指令碼時間 #指令碼功能 set -e set -o pipfail
變數命名要統一規範,shell變數建議使用全部大寫,意思清晰明了,如果是多個字元,可以採用下劃線進行切割,如apache_log_path
,對於變數的引用可以直接使用$
,如果有下劃線分割槽的變數,建議使用$
。
全域性變數可以採用前面時候的定義方式,如果是函式中的區域性變數,建議使用local
進行變數宣告。這個防止全域性變數和區域性變數混淆,區域性變數可以採用小寫,用來區分區域性變數和全域性變數。
function testfunc() }
如果存在變數合併的情況,比如目錄和檔名合併,這樣可以重新賦值成乙個新的變數,這樣方便以後呼叫。
函式命名一般單詞的首字母大寫,比如getinformation
,意思清晰。
指令碼命名,根據指令碼功能進行命名,字尾為.sh
,如果在指令碼執行過程中產生一些臨時檔案,建議採用pid為字尾,如果指令碼執行完成,這個檔案沒有用途,則自動進行刪除。
pid=$$ tmp_file="ip_list".$
引用指令碼或者模組檔案時,新增注釋,簡要說明模組的主要功能和作用,使用.
或者source
指令碼中建議新增日誌函式,這樣方便指令碼除錯,指令碼執行中各函式的輸出和狀態,日誌檔案中包括時間-日誌級別-函式,日誌建立log目錄,有常規的log和錯誤log。
在工程目錄下建立conf目錄,配置檔案以.conf為字尾,配置欄位要風格統一,每個配置提供相關配置注釋
編寫shell指令碼的規範
目錄命名規範 函式引用模組或檔案 指令碼日誌 配置檔案 其他shell指令碼一般選擇bash作為直譯器,指令碼開頭應為 bin bash 或 bin sh在指令碼的開頭加注釋,說明指令碼作者 編寫時間 指令碼功能,最好可以加上指令碼的版本號。shell中指令碼注釋用 注釋語句和 號之間有乙個空格 b...
詳解shell指令碼的編寫規範
shell指令碼一般選擇bash作為直譯器,指令碼開頭應為 bin bash 或 bin sh 在指令碼的開頭加注釋,說明指令碼作者 編寫時間 指令碼功能,最好可以加上指令碼的版本號。shell中指令碼注釋用 注釋語句和 號之間有乙個空格 bin bash 指令碼版本 指令碼作者 指令碼時間 指令碼...
shell指令碼的一些程式設計
shell的一般結構主要是函式和主過程。shell指令碼的形式是函式放在最前面,後面是命令語句。讀取的時候是從上往下,跳過函式先執行命令語句,需要用到函式時,直接呼叫。變數分為區域性變數,環境變數 內部變數。區域性是在這個shell裡面變數,在另外乙個shell裡面不可用。環境是所有得終端都可用的。...