天天看點

運維腳本規範

51運維腳本規範

目錄

前言:

一、命名規範

1.1腳本命名

1.2變量命名

1.3參數命名

1.4函數命名規範

二、編寫規範

2.1.基本資訊

2.2代碼注釋規範

2.3空行

2.4縮進

2.5續行

2.6輸出

2.7 調用系統變量

2.8 腳本中使用指令

2.9 輸入與退出

三、調試

3.1 錯誤退出

3.2腳本文法檢查

3.3調試

本規範目的是保證運維成員編碼的統一。

本規範的核心規則就是腳本的命名規則。

此規範必要是可以打破。

  1.1腳本命名

      腳本的名字需與其功能保持一緻,讓人一看名字就大概知道是幹什麼用。

  1.2變量命名

      變量的命名應遵循某種規範,使用"_"作為單詞間的分隔符,單詞盡量使用全名                  

 如:

   1.3參數命名

    參數命名原則全用小寫

    如:

   1.4函數命名規範

    函數表示的是一個動作,是以它的結構應該是動詞+名詞,動詞必須小寫,後面的名稱首字母大寫,如getMaterialCode。函數命名盡量不要使用縮寫,而且它的名稱應該使人一目了然,能夠從名稱就知道這個函數的功能。當函數名稱不足以表達其功能時,應使用在函數頭部加上讓調用者足夠明白的注釋。

如下面例子:

  2.1.基本資訊

    (1)在每個腳本子產品的最上面,勿忘記添加開頭#!/bin/bash

    (2)腳本編寫人(使用英文名或中文拼音縮寫)

    (3)腳本建立時間、

    (4)腳本修改時間、修改說明、輸入參數、輸出參數、

    (5)腳本描述等。

    如下面例子:

可通過.vimrc檔案編輯腳本時,自動在檔案頭加資訊

    注釋務必做到準确簡潔,能夠充分表達代碼實作的功能。

例如:

    空行是區分代碼塊與塊的間隔,在函數之間必須加上空行;而在函數内部,變量聲明塊和實作塊(實作塊指除變量聲明外的其他代碼)要使用空行來間隔,實作塊的内部,通過空行來辨別一個功能段。

    必須嚴格執行縮進,變量聲明塊不縮進,實作塊必須保證全部縮進(不可能有實作塊是行首對齊的);對于基本的控制結構來說,必須要有縮進,如IF、DO、WITH、FOR、WHILE塊。

    對于過長的語句來說,必須使用續行,續行位置要有明顯意義,例如,sql ="SELECT [code],[name] FROM [Person]"_&"WHERE [code] LIKE'001%'"。

對于使用比較頻繁的代碼塊來說,最好将其寫成函數,并盡量将功能複雜的大函數拆分成小函數。

    非互動式腳本,背景運作的腳本,腳本不允許輸出内容到螢幕上,一律定向到/dev/null

    例如:

    腳本中需要調用系統變量時,需要在腳本中重新定義該變量

例如:

   腳本中使用系統指令時,需在指令行正确執行,測試得出正确結果,再将指令行中執行正确的指令粘貼至腳本中

    腳本需要從參數或者直接腳本中定義調用檔案時,需要判斷檔案是否存在

   腳本非注釋開頭加上set -e,當腳本執行錯誤時,中斷腳本執行,防止腳本發生死循環

  腳本非注釋開頭加上set -n,讀一遍腳本中的指令但不執行,驗證腳本是否能正常執行

   腳本非注釋開頭加上set -x,判斷哪裡出錯。