千家信息网

20.16 20.17shell中的函数(上下);20.18

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,20.16 shell中的函数(上)函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可。1.[root@hao-01 ~]# vi fun1
千家信息网最后更新 2025年01月31日20.16 20.17shell中的函数(上下);20.18

20.16 shell中的函数(上)

函数就是把一段代码整理到了一个小单元中,并给这个小单元起

一个名字,当用到这段代码时直接调用这个小单元的名字即可。

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.17 shell中的函数(下)

1. 加法函数

[root@hao-01 ~]# vi fun2.sh

添加内容:

#!/bin/bash

sum() {

s=$[$1+$2]

echo $s

}


sum 1 10

2. 执行fun2.sh脚本:

[root@hao-01 ~]# sh -x fun2.sh

1. 输入网卡名字,显示网卡ip

[root@hao-01 ~]# vi fun3.sh

添加内容:

#!/bin/bash

ip()

{

ifconfig |grep -A1 "$1: "|awk '/inet/ {print $2}'

}


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

ip $eth

2. 执行fun3.sh脚本:

[root@hao-01 ~]# sh fun3.sh

please input the eth name: ens33

20.18 shell中的数组

1. 定义数组

[root@hao-01 ~]# a=(1 2 3 4 5)

2. 查看a数组元素

[root@hao-01 ~]# echo ${a[*]}

3. 查看数组某个元素(数组从0开始值为1):

[root@hao-01 ~]# echo ${a[1]}

4. 获取数组元素 个数

[root@hao-01 ~]# echo ${#a[*]}

5. 如果下标不存在则会自动添加一个元素:

[root@hao-01 ~]# a[5]=b

[root@hao-01 ~]# echo ${a[*]}

数组元素赋值(更改替换):

[root@hao-01 ~]# a[5]=bbb

[root@hao-01 ~]# echo ${a[*]}

6. 删除数组元素:

7. 删除(清空)数组值

[root@hao-01 ~]# unset a

[root@hao-01 ~]# echo ${a[*]}

8. 设定数组:

[root@hao-01 ~]# a=(`seq 1 10`)

[root@hao-01 ~]# echo ${a[*]}

9. 从第1元素开始,截取出5数值

[root@hao-01 ~]# echo ${a[*]:0:5}

从第2元素开始,截取出5数值

[root@hao-01 ~]# echo ${a[*]:1:5}

10. 倒数第3元素开始,截取出2数值

[root@hao-01 ~]# echo ${a[*]:0-3:2}

11. 截取替换,8元素打印成cc66

[root@hao-01 ~]# echo ${a[@]/8/cc66}

12. 替换元素值8元素替换成cc66

[root@hao-01 ~]# a=(${a[*]/8/cc66})

[root@hao-01 ~]# echo ${a[*]}

替换元素值cc66元素替换成888

[root@hao-01 ~]# a=(${a[*]/cc66/888})

[root@hao-01 ~]# echo ${a[*]}

20.19 告警系统需求分析

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

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

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

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

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

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

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

元素 数组 脚本 函数 日志 邮件 内容 单元 名字 子程序 数值 文件 系统 监控 输出 主程序 代码 引擎 网卡 需求 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全文献摘抄 联想服务器价格 数据库能用外键吗 网络技术给人类生活带来的便利 字节才是真正互联网科技公司 西安软件开发公 聊城同力网络技术有限公司 重庆工控软件开发价位 通州区网络软件开发口碑推荐 申办软件开发需要什么材料 温州网络安全等级 注重网络安全的企业有哪些 什么叫服务器版本 国企软件运维和私企软件开发 广西网络技术转让含义 软件开发公司的电话 职中网络技术专业做什么 为什么云数据库性能那么好 我的世界电脑怎么开服务器 山西警方网络安全 佛山服务器机柜多少钱 服务器数据库怎么进 财务应用软件开发实验目的 数据库name的数据类型 改服务器地址上网 网络安全字符和网络安全密钥 华为通用软件开发工程师技术栈 什么牌子主机电脑服务器最安全 业余学软件开发可以吗 给华为鲲鹏提供服务器的上市公司
0