项目四 项目实训 (shell数组与函数)

项目四 项目实训 (shell数组与函数)

文章目录


【实训任务】

本实训的主要任务是通过定义和操作数组实现对多个数据的集合的存储和处理,使用函数参数给函数传递数据并根据参数的值执行相应的操作,以及编写函数完成特定的任务等。

【实训目录】

(1)掌握索引数组的定义方法,使用数组编写Shell脚本。

(2)掌握关联数组的定义方法,使用数组编写Shell脚本。

(3)掌握函数的定义方法,编写Shell函数脚本。

(4)掌握函数参数的使用方法和变量作用域,编写Shell函数脚本。

【实训内容】

(1)编写Shell脚本,使用数组实现连接状态统计。

(2)编写Shell脚本,使用数组实现网站日志统计。

(3)编写Shell脚本,使用函数实现冒泡排序。

(4)编写Shell脚本,使用函数实现计数和快速排序。

【实训环境】

在进行本项目的实训操作前,提前准备好Linux操作系统环境,RHEL、CentOS Stream、Debian、Ubuntu、华为openEuler、麒麟openKylin等常见Linux发行版都可以进行项目实训。

项目实施

任务一 编写shell数组脚本

1.任务描述

(1)在Linux操作系统中创建Shell脚本array-count.sh,根据输入的操作系统和版本文件内容,统计不同操作系统出现的次数,输出每种操作系统的计数结果。

(2)在Linux操作系统中创建Shell脚本array-shelltype.sh,根据系统/etc/passwd文件中的用户信息,统计不同Shell类型的用户数量,输出每种Shell类型的用户数量。

(3)在Linux操作系统中创建Shell脚本array-stat.sh,统计系统中不同状态的网络连接,输出每种状态及其连接数量。
2.任务实施

(1)在家目录中,创建脚本文件array-count.sh。

[root@wyl ~]# vim osversion.txt
[root@wyl ~]# cat osversion.txt
Openeuler,linux
RHEL9,linux
Ubuntu22,linux
Debian,linux
Solaris,unix
IBM-AIX,unix
HP-UX,unix
[root@wyl ~]# vim array-count.sh
[root@wyl ~]# cat array-count.sh
#!/bin/bash
# 声明一个关联数组以存储操作系统统计数
declare -A os_count
# 逐行读取文件
while IFS=',' read -r name os
do
    # 增加当前操作系数计数
    ((os_count[$os]++))
done < osversion.txt
# 输出操作系统计数
echo "Operate System Count:"
for os in "${
    
    !os_count[@]}"
do
    echo "$os: ${os_count[$os]}"
done

[root@wyl ~]# bash array-count.sh
Operate System Count:
linux: 4
unix: 3
[root@wyl ~]# 

(2)在家目录中,创建脚本文件array-shelltype.sh。

[root@wyl ~]# vim array-shelltype.sh
[root@wyl ~]# cat array-shelltype.sh
#!/bin/bash
declare -A shells
while IFS=':' read -r user _ _ _ _ _ shell _; do
    shells[$shell]=$((shells[$shell] + 1))
done < /etc/passwd
for shell in "${
    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值