您好,登錄后才能下訂單哦!
20.16 shell中的函數(上)
函數就是把一段代碼整理到了一個小單元中,并給這個小單元起
一個名字,當用到這段代碼時直接調用這個小單元的名字即可。
1.
[root@hao-01 ~]# vi fun1.sh
添加內容:
#!/bin/bash
function inp(){
echo "The first par is $1"
echo "The second par is $2"
echo "The third par is $3"
echo "the scritp name is $0"
echo "the number of par is $#"
}
inp $1 $2 $3
2. 執行fun1.sh腳本,后面跟函數:
[root@hao-01 ~]# sh fun1.sh 1
20.17 shell中的函數(下)
1. 加法函數:
[root@hao-01 ~]# vi fun2.sh
添加內容:
#!/bin/bash
sum() {
s=$[$1+$2]
echo $s
}
sum 1 10
2. 執行fun2.sh腳本:
[root@hao-01 ~]# sh -x fun2.sh
1. 輸入網卡名字,顯示網卡ip:
[root@hao-01 ~]# vi fun3.sh
添加內容:
#!/bin/bash
ip()
{
ifconfig |grep -A1 "$1: "|awk '/inet/ {print $2}'
}
read -p "please input the eth name: " ech
ip $eth
2. 執行fun3.sh腳本:
[root@hao-01 ~]# sh fun3.sh
please input the eth name: ens33
20.18 shell中的數組
1. 定義數組:
[root@hao-01 ~]# a=(1 2 3 4 5)
2. 查看a數組的元素:
[root@hao-01 ~]# echo ${a[*]}
3. 查看數組某個元素的值(數組從0開始值為1):
[root@hao-01 ~]# echo ${a[1]}
4. 獲取數組的元素 個數:
[root@hao-01 ~]# echo ${#a[*]}
5. 如果下標不存在則會自動添加一個元素:
[root@hao-01 ~]# a[5]=b
[root@hao-01 ~]# echo ${a[*]}
數組元素賦值(更改替換):
[root@hao-01 ~]# a[5]=bbb
[root@hao-01 ~]# echo ${a[*]}
6. 刪除數組元素:
7. 刪除(清空)數組值:
[root@hao-01 ~]# unset a
[root@hao-01 ~]# echo ${a[*]}
8. 設定數組:
[root@hao-01 ~]# a=(`seq 1 10`)
[root@hao-01 ~]# echo ${a[*]}
9. 從第1個元素開始,截取出5個數值:
[root@hao-01 ~]# echo ${a[*]:0:5}
從第2個元素開始,截取出5個數值:
[root@hao-01 ~]# echo ${a[*]:1:5}
10. 從倒數第3個元素開始,截取出2個數值:
[root@hao-01 ~]# echo ${a[*]:0-3:2}
11. 截取替換,8元素打印成cc66:
[root@hao-01 ~]# echo ${a[@]/8/cc66}
12. 替換元素值,8元素替換成cc66:
[root@hao-01 ~]# a=(${a[*]/8/cc66})
[root@hao-01 ~]# echo ${a[*]}
替換元素值,cc66元素替換成888:
[root@hao-01 ~]# a=(${a[*]/cc66/888})
[root@hao-01 ~]# echo ${a[*]}
20.19 告警系統需求分析
1. 需求:使用shell定制各種個性化告警工具,但需要統一化管理、規范化管理。
2. 思路:指定一個腳本包,包含主程序、子程序、配置文件、郵件引擎、輸出日志等。
3. 主程序:作為整個腳本的入口,是整個系統的命脈。
4. 配置文件:是一個控制中心,用它來開關各個子程序,指定各個相關聯的日志文件。
5. 子程序:這個才是真正的監控腳本,用來監控各個指標。
6. 郵件引擎:是由一個python程序來實現,它可以定義發郵件的服務器、發郵件人以及發件人密碼
7. 輸出日志:整個監控系統要有日志輸出。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。