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程序来实现,它可以定义发邮件的服务器、发邮件人以及发件人密码
输出日志:整个监控系统要有日志输出
转载于:https://www.cnblogs.com/davery/p/9034037.html
Linux centosVMware shell中的函数、shell中的数组、相关推荐
- scala 函数中嵌套函数_Scala中的嵌套函数 用法和示例
scala 函数中嵌套函数 Scala中的嵌套函数 (Nested functions in Scala) A nested function is defined as a function whi ...
- shell中的函数shell中的数组告警系统需求分析
2019独角兽企业重金招聘Python工程师标准>>> 20.16/20.17 shell中的函数 函数的概念 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用 ...
- python3.6中round函数_Python中round函数使用注意事项
原标题:Python中round函数使用注意事项 使用round函数的时候发现了一个奇怪的现象.一直觉得round函数是一个用于四舍五入的函数,结果却不一定.一般如果觉得奇怪,那就是没弄懂其本质的运作 ...
- java中instr函数_Oracle中instr函数使用方法
Oracle中instr函数使用方法 更新时间:2012年11月03日 00:53:51 作者: 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置.只检索一次,就是 ...
- python中pop函数_Python中的Pop函数
python中pop函数 什么是弹出功能? (What is the pop function?) The method pop() removes and returns the last elem ...
- oracle中各种函数,oracle中常用函数大全
1.数值型常用函数 函数 返回值 样例 显示 ceil(n) 大于或等于数值n的最小整数 select ceil(10.6) from dual; 11 floor(n) 小于等于数值n的最大整数 s ...
- python中mat函数_Python中flatten( )函数及函数用法详解
flatten()函数用法 flatten是numpy.ndarray.flatten的一个函数,即返回一个一维数组. flatten只能适用于numpy对象,即array或者mat,普通的list列 ...
- python中set函数_python中set()函数简介及实例解析
set函数也是python内置函数的其中一个,属于比较基础的函数.其具体介绍和使用方法,下面进行介绍. set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并 ...
- python查看dll中所有函数_Python中的函数
初识函数 我们的程序的代码块很快变得越来越大,需要一些方法分成小代码块,便于组织,便于编写和阅读 程序分解成较小代码块有三种方法: 1.函数(function)实现具体功能的代码块,向代码的积木,可以 ...
- mysql中group_concat函数_MySQL中group_concat函数
为什么我要学习该函数,我在做控制页面的权限的时候,没有使用Shiro框架[强烈推荐使用], 为了降低学习成本,暂时给学生过渡的想法,我需要控制到按钮级别的权限,我的想法是通过Jquery对我的页面中的 ...
最新文章
- 查看linux主机是否安装宋体码,Linux 安装宋体字体的简单办法
- 人脸对齐--Dense Face Alignment
- 中国电信制定物联网策略:规模市场自主经营 长尾市场集成
- jvm性能调优 - 21案例实战_百万级用户的在线系统如何基于G1垃圾回收器优化性能
- java如何配置环境_java如何配置环境变量
- 火焰效果材质实现_利用噪音图制作一个纸张燃烧的效果
- PHP网站如何搬迁,如何搬迁DedeCMS站点数据
- css实现发光的input输入框
- 一款纯HTML二次元响应式引导页
- CVE-2014-6332 修改浏览器安全属性开启Godmode
- xml文件导入wps_电脑中将WPS文档保存为XML格式的方法
- 数学模型——数学与人类文明的桥梁
- 【历史上的今天】1 月 22 日:苹果广告震动硅谷;计算机科学公司创始人出生;科学计量学先驱诞生
- sencha app watch php,Sencha Cmd使用指南
- Top10 ProxyClient 支持指定进程的代理客户端软件
- Tracup体验报告
- MFC 108问题
- 外贸里面 LC TT DP DA BG 是什么
- 【Java】银行账户管理系统
- Nexus的安装和使用