函数
#########################
0. 显示帮助信息
1. 显示系统版本信息
2. 显示系统内核信息
3. 显示磁盘使用情况
4. 显示内存使用情况
5. 显示系统负载情况
6. 显示用户登录情况
7. 显示Eth0IP地址
8. 显示外网IP地址
9. 退出程序
#########################
[root@shell /scripts]# cat case-5.sh
#!/bin/bash
#1.定义菜单函数
menu() {
cat<<EOF
#########################
0. 显示帮助信息
1. 显示系统版本信息
2. 显示系统内核信息
3. 显示磁盘使用情况
4. 显示内存使用情况
5. 显示系统负载情况
6. 显示用户登录情况
7. 显示Eth0IP地址
8. 显示外网IP地址
9. 退出程序
#########################
EOF
}
#2.打印函数
menu
while true
do
#3.提示用户进行输入想要查看的信息
read -p "请根据菜单输入对应的数字获取对应的状态信息:" Num
#4.编写数字对应的功能命令
case $Num in
0)
clear #清屏命令
menu
;;
1)
echo "当前系统版本信息如下:"
awk '{print $1,$4}' /etc/redhat-release
;;
2)
echo "当前系统内核版本信息如下:"
uname -r
;;
3)
echo "当前系统磁盘使用情况如下:"
df -h
;;
4)
echo "当前系统内存使用情况如下:"
free -m
;;
5)
echo "当前系统负载情况如下:"
uptime
;;
6)
echo "当前系统用户登录的情况如下:"
w
;;
7)
echo "当前系统Eth0网卡IP地址如下:"
ifconfig eth0 | awk 'NR==2{print $2}'
;;
8)
echo "当前系统外网IP地址如下:"
curl -s ifconfig.me
echo
;;
9)
echo "正在退出程序!"
exit
esac
done
[root@shell /scripts]# sh case-5.sh
#########################
0. 显示帮助信息
1. 显示系统版本信息
2. 显示系统内核信息
3. 显示磁盘使用情况
4. 显示内存使用情况
5. 显示系统负载情况
6. 显示用户登录情况
7. 显示Eth0IP地址
8. 显示外网IP地址
9. 退出程序
#########################
请根据菜单输入对应的数字获取对应的状态信息:1
当前系统版本信息如下:
CentOS 7.6.1810
请根据菜单输入对应的数字获取对应的状态信息:2
当前系统内核版本信息如下:
3.10.0-957.el7.x86_64
请根据菜单输入对应的数字获取对应的状态信息:3
当前系统磁盘使用情况如下:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 2.0G 46G 5% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.5M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
请根据菜单输入对应的数字获取对应的状态信息:4
当前系统内存使用情况如下:
total used free shared buff/cache available
Mem: 1980 106 1740 9 133 1717
Swap: 2047 0 2047
请根据菜单输入对应的数字获取对应的状态信息:5
当前系统负载情况如下:
10:29:52 up 54 min, 3 users, load average: 0.00, 0.01, 0.05
请根据菜单输入对应的数字获取对应的状态信息:6
当前系统用户登录的情况如下:
10:29:53 up 54 min, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 09:35 54:01 0.03s 0.03s -bash
root pts/0 10.0.0.1 09:36 1.00s 0.15s 0.00s w
root pts/1 10.0.0.1 09:46 3:13 0.08s 0.08s -bash
请根据菜单输入对应的数字获取对应的状态信息:7
当前系统Eth0网卡IP地址如下:
10.0.0.60
请根据菜单输入对应的数字获取对应的状态信息:8
当前系统外网IP地址如下:
120.242.172.103
请根据菜单输入对应的数字获取对应的状态信息:0
#########################
0. 显示帮助信息
1. 显示系统版本信息
2. 显示系统内核信息
3. 显示磁盘使用情况
4. 显示内存使用情况
5. 显示系统负载情况
6. 显示用户登录情况
7. 显示Eth0IP地址
8. 显示外网IP地址
9. 退出程序
#########################
请根据菜单输入对应的数字获取对应的状态信息:9
正在退出程序!