zoukankan      html  css  js  c++  java
  • Linux centosVMware shell中的函数、shell中的数组、

    一、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程序来实现,它可以定义发邮件的服务器、发邮件人以及发件人密码

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

  • 相关阅读:
    YTU 2481: 01字串
    smarty的自定义函数
    $_SERVER['SCRIPT_FLENAME']与__FILE__
    pdo中query()与prepare().execute()
    pdo中bindParam()与bindValue的区别
    pdo简介--错误与错误处理
    pdo的三个预定义类,PDO PDOStatement PDOException
    根目录 上级目录 当前目录
    反射机制(转)
    log4j 日志配置
  • 原文地址:https://www.cnblogs.com/davery/p/9034037.html
Copyright © 2011-2022 走看看