运维日常linux运维

case语句监测系统状态

2019-11-25  本文已影响0人  大白菜的猪猪

编程说明:


使用case语句实现响应客户端输入的请求,返回对应的页面.


源代码:


#!/bin/bash

#功能描述:定义功能菜单,将使用case语句来判断用户输入的选项,并根据选项菜单输出对应的>窗口,监测不同的系统性能

clear

echo -e "\033[42m--------------------------------------\033[0m"

echo -e "\e[2;10H菜单\t\t#"

echo -e "#\e[32m 1.查看网卡信息\e[0m                    #"

echo -e "#\e[32m 2.查看内存信息\e[0m                    #"

echo -e "#\e[32m 3.查看磁盘信息\e[0m                    #"

echo -e "#\e[32m 4.查看CPU信息\e[0m                    #"

echo -e "#\e[32m 5.查看账户信息\e[0m                    #"

echo -e "#\e[32m 6.退出\e[0m                                  #"

echo -e "\033[42m--------------------------------------\033[0m"

echo

read -p "请输入选项[1~5]:" key

case $key in

1)

        ifconfig | head -2;;

2)

        mem=$(free | grep Mem | tr -s " " |cut -d " " -f7)

        echo "本机内存剩余容量为: ${mem}K."

        ;;

3)

        root_free=$(df | grep /$ | tr -s " " | cut -d " " -f4)

        echo "本机根分区剩余容量为:${root_free}K."

        ;;

4)

        cpu=$(uptime | tr -s " " |cut -d " " -f13)

        echo "本机CPU 15min的平均负载为:$cpu."

        ;;

5)

        login_number=$(who | wc -l)

        total_number=$(cat /etc/passwd | wc -l)

        echo "当前系统账户为$USER"

        echo "当前登录系统的账户数量为:$login_number"

        echo "当前系统中总用户数量为:$total_number"

        ;;

6)

        exit;;

*)

        echo "输入有误,超出范围"

        ;;

esac


脚本运行结果:


./menu.sh
--------------------------------------

        菜单 #

# 1.查看网卡信息                    #

# 2.查看内存信息                    #

# 3.查看磁盘信息                    #

# 4.查看CPU信息                    #

# 5.查看账户信息                    #

# 6.退出                    #

--------------------------------------

请输入选项[1~5]:2

本机内存剩余容量为: 12245124K.

该脚本还可以与while循环连用,就不会说执行一遍就退出了系统.

上一篇 下一篇

猜你喜欢

热点阅读