shell指令碼中的函式
函式就是把一段**整理到了乙個小單元中,並給這個小單元起乙個名字,當用到這段**時直接呼叫這個小單元的名字即可。
格式:
function f_name()
函式必須要放在最前面
示例1
#!/bin/bash
input
() input 1 a b
示例2
#!/bin/bash
sum()
sum 1
2
示例3
#!/bin/bash
ip() '
}read -p "please input the eth name: " e
myip=`ip $e`
echo
"$e address is $myip"
——–ppt中有錯誤————————————-
shell中的陣列
定義陣列 a=(1 2 3 4 5); echo $
echo $ 獲取陣列的元素個數
echo $ 讀取第三個元素,陣列從0開始
echo $ 等同於 $ 顯示整個陣列
陣列賦值
a[1]=100; echo $
a[5]=2; echo $ 如果下標不存在則會自動新增乙個元素
陣列的刪除
uset a; unset a[1]
陣列分片
a=(`seq 1 5`)
echo $ 從第乙個元素開始,擷取3個
echo $ 從第二個元素開始,擷取4個
echo $ 從倒數第3個元素開始,擷取2個
陣列替換
echo \$
a=(\$)
shell專案-告警系統
需求:使用shell定製各種個性化告警工具,但需要統一化管理、規範化管理。
思路:指定乙個指令碼包,包含主程式、子程式、配置檔案、郵件引擎、輸出日誌等。
主程式:作為整個指令碼的入口,是整個系統的命脈。
配置檔案:是乙個控制中心,用它來開關各個子程式,指定各個相關聯的日誌檔案。
子程式:這個才是真正的監控指令碼,用來監控各個指標。
郵件引擎:是由乙個python程式來實現,它可以定義發郵件的伺服器、發郵件人以及發件人密碼
輸出日誌:整個監控系統要有日誌輸出。
要求:我們的機器角色多種多樣,但是所有機器上都要部署同樣的監控系統,也就說所有機器不管什麼角色,整個程式框架都是一致的,不同的地方在於根據不同的角色,定製不同的配置檔案。
bin下是主程式
conf下是配置檔案
shares下是各個監控指令碼
mail下是郵件引擎
log下是日誌。
十六周五次課(2月8日)
20.16/20.17 shell中的函式
20.18 shell中的陣列
20.19 告警系統需求分析
shell指令碼 函式和陣列
二 shell陣列 三 指令碼除錯 function name 呼叫 shell 函式時可以給它傳遞引數,也可以不傳遞。如果不傳遞引數,直接給出函式名字即可 name如果傳遞引數,那麼多個引數之間以空格分隔 name param1 param2 param31.定義乙個函式,輸出 乙個 bin ba...
c 陣列新增元素 Shell函式和陣列
function test test function 關鍵字可寫,也可不寫。bin bash test test bash test.sh this is a function.shell 函式很簡單,函式名後跟雙括號,再跟雙大括號。通過函式名直接呼叫,不加小括號。bin bash test te...
shell指令碼中的函式, shell中的陣列
示例1 bin bash 函式的使用 input input 1 a b root second fun.sh 1 a 3 fun.sh 示例2 bin bash 傳遞乙個引數給函式 input read p please input n input root second fun.sh pleas...