博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell中的函数,shell中的数组,告警系统需求分析
阅读量:7305 次
发布时间:2019-06-30

本文共 1083 字,大约阅读时间需要 3 分钟。

hot3.png

shell中的函数

格式:

格式: function f_name() {

             command

}

函数必须要放在最前面

示例1(用来打印参数)

074905_QdR7_3708406.png

074609_xfdc_3708406.png

074918_ZIwH_3708406.png

075123_HZFi_3708406.png

075145_n0V5_3708406.png

075210_FmrT_3708406.png

示例2(用于定义加法)

075839_Hb65_3708406.png

075824_2qEG_3708406.png

075849_IRJI_3708406.png

示例3(用于显示IP)

080512_fwGz_3708406.png

081830_6OCv_3708406.png

082021_DsKl_3708406.png

081952_iVp4_3708406.png

shell中的数组

shell中的数组1

  • 定义数组 a=(1 2 3 4 5); echo ${a[@]}
  • echo ${#a[@]} 获取数组的元素个数
  • echo ${a[2]} 读取第三个元素,数组从0开始
  • echo ${a[*]} 等同于 ${a[@]} 显示整个数组
  • 数组赋值
  • a[1]=100; echo ${a[@]}
  • a[5]=2; echo ${a[@]} 如果下标不存在则会自动添加一个元素
  • 数组的删除
  • uset a; unset a[1]

shell中的数组2

  • 数组分片
  • a=(seq 1 5) 
  • echo ${a[@]:0:3} 从第一个元素开始,截取3个
  • echo ${a[@]:1:4} 从第二个元素开始,截取4个
  • echo ${a[@]:0-3:2} 从倒数第3个元素开始,截取2个
  • 数组替换
  • echo ${a[@]/3/100}
  • a=(${a[@]/3/100})

数组,就是一串字符串或者一串数字,形成的一个变量

定义数组

082514_QwYM_3708406.png

打印数组

082524_0yKj_3708406.png

查看数组中某个元素的值,从0开始

083231_NOwN_3708406.png

查看数组中元素的个数

083318_dEjG_3708406.png

元素赋值(如果下标不存在则会自动添加一个元素)

083348_TcKK_3708406.png

删除数组中的元素

083508_u0rF_3708406.png

数组分片

从第四个元素开始,截取4个

083953_HY9C_3708406.png

从倒数第三个元素开始,截取2个(倒数第三个必须写成0-3,不能写成-3)

084040_lqh2_3708406.png

数组的替换

084339_rmus_3708406.png

告警系统需求分析

  • 需求:使用shell定制各种个性化告警工具,但需要统一化管理、规范化管理。
  • 思路:指定一个脚本包,包含主程序、子程序、配置文件、邮件引擎、输出日志等。
  • 主程序:作为整个脚本的入口,是整个系统的命脉。
  • 配置文件:是一个控制中心,用它来开关各个子程序,指定各个相关联的日志文件。
  • 子程序:这个才是真正的监控脚本,用来监控各个指标。
  • 邮件引擎:是由一个python程序来实现,它可以定义发邮件的服务器、发邮件人以及发件人密码
  • 输出日志:整个监控系统要有日志输出。
  • 要求:我们的机器角色多种多样,但是所有机器上都要部署同样的监控系统,也就说所有机器不管什么角色,整个程序框架都是一致的,不同的地方在于根据不同的角色,定制不同的配置文件。
  • 程序架构:

085136_iZZq_3708406.png

  • bin下是主程序
  • conf下是配置文件
  • shares下是各个监控脚本
  • mail下是邮件引擎log下是日志。

转载于:https://my.oschina.net/u/3708406/blog/1620431

你可能感兴趣的文章
Elasticsearch 参考指南(安装)
查看>>
JVM 学习之垃圾回收
查看>>
「玩物志」来自 Jigsaw 的 Outline
查看>>
我们和优秀工程师的差距在哪儿
查看>>
看吧,这就是现代化 PHP 该有的样子
查看>>
【377天】跃迁之路——程序员高效学习方法论探索系列(实验阶段135-2018.02.17)...
查看>>
Vue中如果服务器被限定了host如何用axois进行跨域请求?
查看>>
M - 阿牛的EOF牛肉串 (递推式子的应用)
查看>>
阿里egg.js初体验(一)
查看>>
4. 使用开发工具 IDEA 【连载 4】
查看>>
状态管理从0开始[后续更新]
查看>>
前端每周清单第 42 期:V8 的执行流与优化,Pinterest 的 PWA 实践
查看>>
前端性能优化之gzip
查看>>
前端性能优化
查看>>
JS 外观模式
查看>>
css去除inline-block间隙
查看>>
Linux初级命令
查看>>
Just for fun——分解一个正整数的质因数
查看>>
ZABBIX部署
查看>>
Http请求数据格式
查看>>