zoukankan      html  css  js  c++  java
  • 【shell 练习5】编写简单的多级菜单

    一、简单的多级菜单

    [root@web129 ~]# cat menu.sh 
    #!/bin/bash
    #shell菜单演示
    function menu()
    {
    echo -e `date`
    cat <<EOF
    -----------------------------------
    >>>菜单主页:
    `echo -e "33[35m 1)系统状态33[0m"`
    `echo -e "33[35m 2)服务管理33[0m"`
    `echo -e "33[35m 3)主菜单33[0m"`
    `echo -e "33[35m Q)退出33[0m"`
    EOF
    read -p "请输入对应序列号:" num1
    case $num1 in
        1)
        echo -e "33[32m >>>系统状态-> 33[0m"
        system_menu
        ;;
        2)
        echo -e "33[32m >>>服务管理-> 33[0m"
        server_menu
        ;;
        3)
        echo -e "33[32m >>>返回主菜单-> 33[0m"
        menu
        ;;
        Q|q)
        echo -e "33[32m--------退出--------- 33[0m"
        exit 0
        ;;
        *)
        echo -e "33[31m err:请输入正确的编号33[0m"
        menu
    esac
    }
    function system_menu()
    {
    cat<<EOF
    ------------------------
    ********系统状态********
    ------------------------
    1)nginx 状态
    2)http 状态
    3)tomcat 状态
    X)返回上一级目录
    ------------------------
    EOF
    read -p "请输入编号:" num2
    case $num2 in
        1)
        `echo -e "systemctl status nginx.service"`
        system_menu
        ;;
        2)
         `echo -e "systemctl status httpd.service"`
        system_menu
        ;;
        3)
         `echo -e "systemctl status tomcat.service"`
        system_menu
        ;;
        x|X)
        echo -e "33[32m---------返回上一级目录------->33[0m"
        menu
        ;;
        *)
        echo -e "请输入正确编号"
        system_menu
    esac
    }
    function server_menu()
    {
    cat<<EOF
    ------------------------
    1)开启服务
    2)停止服务
    X)返回上一级目录
    ------------------------
    EOF
    read -p "请输入编号:" num3
    case $num3 in
            1)
            op_menu
            ;;
            2)
            op_menu1
            ;;
            x|X)
            echo -e "33[32m-- -----返回上一级目录---------> 33[0m"
            menu
            ;;
            *)
            echo -e "请输入正确编号"
            system_menu
    esac
    }
    
    function op_menu()
    {
    cat<<EOF
    ------------------------
    1)开启nginx服务
    2)开启http服务
    3)开启tomcat服务
    X)返回上一级目录
    ------------------------
    EOF
    read -p "请输入编号:" num4
    case $num4 in
            1)
        `echo -e "systemctl start nginx.service"`
        op_menu
            ;;
            2)
        `echo -e "systemctl start httpd.service"`
            op_menu
        ;;
        3)
        `echo -e "systemctl start tomcat.service"`
            op_menu
            ;;
            x|X)
            echo -e "33[32m--------返回上一级目录------->33[0m"
            server_menu
            ;;
            *)
            echo -e "请输入正确编号"
        op_menu
    esac
    }
    function op_menu1()
    {
    cat<<EOF
    ------------------------
    1)停止nginx服务
    2)停止http服务
    3)停止tomcat服务
    X)返回上一级目录
    ------------------------
    EOF
    read -p "请输入编号:" num5
    case $num5 in
            1)
            `echo -e "systemctl stop nginx.service"`
            op_menu1
            ;;
            2)
            `echo -e "systemctl stop httpd.service"`
            op_menu1
            ;;
            3)
            `echo -e "systemctl stop tomcat.service"`
            op_menu1
            ;;
            x|X)
            `echo -e "33[32m >>>返回上一级目录---> 33[0m"`
            server_menu
            ;;
            *)
            echo -e "请输入正确编号"
            op_menu1
    esac
    }
    menu
    [root@web129 ~]# 

    显示效果如下:

  • 相关阅读:
    python 发邮件乱码
    膳魔师杯使用注意事项
    了解指针,分分钟的事情 C++筆記--指針
    海淘攻略
    【转】Cocos2dx.3x入门三部曲
    在Windows7上搭建Cocos2d-x 3.2alpha0开发环境
    黑苹果 MAC OS X 10.10.2 安装流程
    Linux 下如何查找木马并处理
    js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
    泰*网 Centos 一些命令
  • 原文地址:https://www.cnblogs.com/yangleitao/p/9582492.html
Copyright © 2011-2022 走看看