项目四 项目实训 (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 "${

最低0.47元/天 解锁文章
342

被折叠的 条评论
为什么被折叠?



