一、shell中的函数

函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可。

格式: function _name()

{

command

}

函数必须放在最前边

示例1:

#! /bin/bash

input()

{

echo $1 $2 $# $0

}

input 1 a b

$0代表为这个scritp

$# 统计有几个参数

示例2:

#! /bin/bash

sum()

{

s=$[$1+$2]

echo $s

}

sum 1 2

vim fun2.sh

示例3:提取本机有用ip

#! /bin/bash

ip()

{

ifconfig|grep -A1 "$1" |tail -1 |awk '{print $2}' |awk -F ':' '{print $2}'

}

read -p "please input the eth name:" e

myip='ip $e'

echo "$e address is $myip"

直接执行不会有ip提示需要改进

grep -A1 显示关键词,包括关键词下一行

-w精准判断,同样不能过滤ens33:0:

改进为

[root@davery shell]# ifconfig |grep -A1 "ens33: "  才能准确判断,:后有空格

打印含有inte的行

提取含有inte这一行的第二个字段

最终脚本

vim fun3.sh

或者

vim fun3.sh

或者

输入ens33

但只能输出第一个ip,应该改为grep -A1 “$1”

输入ens33:0      ip为150

输入ens33 ip为101

输入ip不存在的情况

二、shell中的数组

定义数组 b=(1 2 3); echo ${b[@]}

echo ${#a[@]} 获取数组的元素个数

echo ${b[2]} 读取第三个元素,数组从0开始

echo ${b[*]} 等同于 ${b[@]} 显示整个数组

数组赋值

b[1]=100; echo ${b[@]}

b[3]=2; echo ${b[@]} 如果下标不存在则会自动添加一个元素

数组的删除

uset b; unset b[1]

数组分片

b=(`seq 1 5`)

echo ${b[@]:0:3} 从第一个元素开始,截取3个

echo ${b[@]:1:4} 从第二个元素开始,截取4个

echo ${b[@]:0-3:2} 从倒数第3个元素开始,截取2个

数组替换

echo ${b[@]/3/100}

a=(${b[@]/3/100})

三、告警系统需求分析

需求:使用shell定制各种个性化告警工具,但需要统一化管理、规范化管理。

思路:指定一个脚本包,包含主程序、子程序、配置文件、邮件引擎、输出日志等。

主程序:作为整个脚本的入口,是整个系统的命脉。

配置文件:是一个控制中心,用它来开关各个子程序,指定各个相关联的日志文件。

子程序:这个才是真正的监控脚本,用来监控各个指标。

邮件引擎:是由一个python程序来实现,它可以定义发邮件的服务器、发邮件人以及发件人密码

输出日志:整个监控系统要有日志输出

转载于:https://www.cnblogs.com/davery/p/9034037.html

Linux centosVMware shell中的函数、shell中的数组、相关推荐

  1. scala 函数中嵌套函数_Scala中的嵌套函数 用法和示例

    scala 函数中嵌套函数 Scala中的嵌套函数 (Nested functions in Scala) A nested function is defined as a function whi ...

  2. shell中的函数shell中的数组告警系统需求分析

    2019独角兽企业重金招聘Python工程师标准>>> 20.16/20.17 shell中的函数 函数的概念 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用 ...

  3. python3.6中round函数_Python中round函数使用注意事项

    原标题:Python中round函数使用注意事项 使用round函数的时候发现了一个奇怪的现象.一直觉得round函数是一个用于四舍五入的函数,结果却不一定.一般如果觉得奇怪,那就是没弄懂其本质的运作 ...

  4. java中instr函数_Oracle中instr函数使用方法

    Oracle中instr函数使用方法 更新时间:2012年11月03日 00:53:51   作者: 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置.只检索一次,就是 ...

  5. python中pop函数_Python中的Pop函数

    python中pop函数 什么是弹出功能? (What is the pop function?) The method pop() removes and returns the last elem ...

  6. oracle中各种函数,oracle中常用函数大全

    1.数值型常用函数 函数 返回值 样例 显示 ceil(n) 大于或等于数值n的最小整数 select ceil(10.6) from dual; 11 floor(n) 小于等于数值n的最大整数 s ...

  7. python中mat函数_Python中flatten( )函数及函数用法详解

    flatten()函数用法 flatten是numpy.ndarray.flatten的一个函数,即返回一个一维数组. flatten只能适用于numpy对象,即array或者mat,普通的list列 ...

  8. python中set函数_python中set()函数简介及实例解析

    set函数也是python内置函数的其中一个,属于比较基础的函数.其具体介绍和使用方法,下面进行介绍. set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并 ...

  9. python查看dll中所有函数_Python中的函数

    初识函数 我们的程序的代码块很快变得越来越大,需要一些方法分成小代码块,便于组织,便于编写和阅读 程序分解成较小代码块有三种方法: 1.函数(function)实现具体功能的代码块,向代码的积木,可以 ...

  10. mysql中group_concat函数_MySQL中group_concat函数

    为什么我要学习该函数,我在做控制页面的权限的时候,没有使用Shiro框架[强烈推荐使用], 为了降低学习成本,暂时给学生过渡的想法,我需要控制到按钮级别的权限,我的想法是通过Jquery对我的页面中的 ...

最新文章

  1. 查看linux主机是否安装宋体码,Linux 安装宋体字体的简单办法
  2. 人脸对齐--Dense Face Alignment
  3. 中国电信制定物联网策略:规模市场自主经营 长尾市场集成
  4. jvm性能调优 - 21案例实战_百万级用户的在线系统如何基于G1垃圾回收器优化性能
  5. java如何配置环境_java如何配置环境变量
  6. 火焰效果材质实现_利用噪音图制作一个纸张燃烧的效果
  7. PHP网站如何搬迁,如何搬迁DedeCMS站点数据
  8. css实现发光的input输入框
  9. 一款纯HTML二次元响应式引导页
  10. CVE-2014-6332 修改浏览器安全属性开启Godmode
  11. xml文件导入wps_电脑中将WPS文档保存为XML格式的方法
  12. 数学模型——数学与人类文明的桥梁
  13. 【历史上的今天】1 月 22 日:苹果广告震动硅谷;计算机科学公司创始人出生;科学计量学先驱诞生
  14. sencha app watch php,Sencha Cmd使用指南
  15. Top10 ProxyClient 支持指定进程的代理客户端软件
  16. Tracup体验报告
  17. MFC 108问题
  18. 外贸里面 LC TT DP DA BG 是什么
  19. 【Java】银行账户管理系统
  20. Nexus的安装和使用

热门文章

  1. 转帖:RIA(Rich Internet Application,富互联网应用系统)
  2. js jquery操作的方面xml dom html dom css dom
  3. js调试控制台使用详解图解
  4. HTML ol 标签的 type 属性
  5. Python 列表(List)操作方法详解
  6. 动态规划学习之三种方法解决斐波拉契数
  7. iOS开发UI篇—手写控件,frame,center和bounds属性
  8. 算法竞赛入门经典读书笔记(三)7.2枚举排列
  9. 写文章比较正规的格式
  10. jsp:请求转发和重定向