9個實戰(zhàn)及面試常用Shell腳本編寫
注意事項
1)開頭加解釋器:#!/bin/bash
2)語法縮進,使用四個空格;多加注釋說明。
3)命名建議規(guī)則:變量名大寫、局部變量小寫,函數(shù)名小寫,名字體現(xiàn)出實際作用。
4)默認(rèn)變量是全局的,在函數(shù)中變量local指定為局部變量,避免污染其他作用域。
5)有兩個命令能幫助我調(diào)試腳本:set -e 遇到執(zhí)行非0時退出腳本,set-x 打印執(zhí)行過程。
6)寫腳本一定先測試再到生產(chǎn)上。
1 獲取隨機字符串或數(shù)字
獲取隨機8位字符串:

獲取隨機8位數(shù)字:

cksum:打印CRC效驗和統(tǒng)計字節(jié)
2 定義一個顏色輸出字符串函數(shù)

function關(guān)鍵字定義一個函數(shù),可加或不加。
3 批量創(chuàng)建用戶

4 檢查軟件包是否安裝

5 檢查服務(wù)狀態(tài)

6 檢查主機存活狀態(tài)
方法1: 將錯誤IP放到數(shù)組里面判斷是否ping失敗三次

方法2: 將錯誤次數(shù)放到FAIL_COUNT變量里面判斷是否ping失敗三次

方法3: 利用for循環(huán)將ping通就跳出循環(huán)繼續(xù),如果不跳出就會走到打印ping失敗

7 監(jiān)控CPU、內(nèi)存和硬盤利用率
1)CPU
借助vmstat工具來分析CPU統(tǒng)計信息。

2)內(nèi)存

3)硬盤

8 批量主機磁盤利用率監(jiān)控
前提監(jiān)控端和被監(jiān)控端SSH免交互登錄或者密鑰登錄。
寫一個配置文件保存被監(jiān)控主機SSH連接信息,文件內(nèi)容格式:IP User Port

9 檢查網(wǎng)站可用性
1)檢查URL可用性

2)判斷三次URL可用性
思路與上面檢查主機存活狀態(tài)一樣。

本章寫的Shell腳本例子都比較實用,在面試題中也經(jīng)常出現(xiàn),希望大家參考著多動手寫寫,不要復(fù)制粘貼就拿來跑,這樣是學(xué)不會的!