20.16shell中的函数(上)
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.17shell中的函数(下)
1. 加法:
fun2.sh
sum() {
s=$[$1+$2]
echo $s
}
sum 1 10
fun2.sh脚本:
sh -x fun2.sh
1. 输入网卡名字,显示网卡ipfun3.sh
ip()
{
ifconfig |grep -A1 "$1: "|awk '/inet/ {print $2}'
read -p "please input the eth name: " ech
ip $eth
fun3.shfun3.sh
please input the eth name: ens33
ottom:#ddd 1px solid;border-left:#ddd 1px solid;" alt="spacer.gif" src="http://img.jb51.cc/vcimg/static/loading.png" src="http://zhuneianxiang.blog.51cto.come/u261/themes/default/images/spacer.gif">
20.18shell中的数组
定义数组[root@hao-01 ~]# a=(1 2 3 4 5)
2. 查看a的元素 echo ${a[*]}
ottom:#ddd 1px solid;border-left:#ddd 1px solid;" alt="spacer.gif" src="http://img.jb51.cc/vcimg/static/loading.png" src="http://zhuneianxiang.blog.51cto.come/u261/themes/default/images/spacer.gif">
3. 某个值(数组从0开始值为1):[1]}
4. 获取元素 个数echo ${#[*]}
5]=b
数组元素赋值(更改替换):
a[bbb
6.删除数组元素:
ottom:#ddd 1px solid;border-left:#ddd 1px solid;" alt="spacer.gif" src="http://img.jb51.cc/vcimg/static/loading.png" src="http://zhuneianxiang.blog.51cto.come/u261/themes/default/images/spacer.gif">
7. (清空)数组值unset a8. 设定数组:
=(`seq 1 10`)
9. 从第1个开始,截取出5数值echo ${[*]:0:}
从第2}
10. 从倒数第30-32}
11. 截取替换,8元素打印成cc66[@]/8/cc66
12.替换元素值,元素替换成a=(${[*]/})
888[root@hao-01 ~]# a=(${a[*]/cc66/888
20.19告警系统需求分析
需求:使用shell定制各种个性化告警工具,但需要统一化管理、规范化管理。
思路:指定一个脚本包,包含主程序、子程序、配置文件、邮件引擎、输出日志等。
主程序:作为整个脚本的入口,是整个系统的命脉。
4. 配置文件:是一个控制中心,用它来开关各个子程序,指定各个相关联的日志文件。
子程序:这个才是真正的监控脚本,用来监控各个指标。