shell实现多级菜单脚本编写的示例代码

 更新时间:2024年02月27日 08:28:52   作者:[禾火]  
本文主要介绍了shell实现多级菜单脚本编写,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. 提示

本脚本主要实现多级菜单效果,并没有安装LAMP、LNMP环境,如果要用在实际生成环境中部署LNMP、LAMP环境,只需要简单修改一下就可以了。

2. 演示效果

2.1. 一级菜单

2.2. 二级菜单

2.3. 执行操作

3. 参考代码

[root@server ~]# vim multi_menu.sh
#!/bin/bash
#
function menu(){
cat << EOF
----------------------------------------------
|*******Please Enter Your Choice:[1-4]*******|
----------------------------------------------
* `echo -e "\033[35m 1)lamp install\033[0m"`
* `echo -e "\033[35m 2)lnmp install\033[0m"`
* `echo -e "\033[35m 3)quit\033[0m"`
* `echo -e "\033[35m 4)return main menu\033[0m"`
EOF
}

function lamp_menu(){
cat << EOF
----------------------------------------------
|*******Please Enter Your Choice:[1-4]*******|
----------------------------------------------
* `echo -e "\033[35m 1)http install\033[0m"`
* `echo -e "\033[35m 2)mysql install\033[0m"`
* `echo -e "\033[35m 3)php install\033[0m"`
* `echo -e "\033[35m 4)return main menu\033[0m"`
EOF
read -p "####please input second_lamp optios[1-4]: " num2
expr $num2 + 1 &>/dev/null #这里加1,判断输入的是不是整数。
if [ $? -ne 0 ]
then #如果不等于零,代表输入不是整数。
    echo "###########################"
    echo "Waing !!!,input error "
    echo "Please enter choose[1-4]:"
    echo "##########################"
    sleep 1
else
    if [ $num2 -gt 4 ]
    then
        echo "###########################"
        echo "Waing !!!,Out of range "
        echo "Please enter choose[1-4]:"
        echo "##########################"
        sleep 1
    fi
fi
case $num2 in
    1)
    # yum 安装httpd
    yum install httpd -y &> /dev/null
    if(($?==0))
    then
        echo "安装httpd成功"
    fi
    sleep 2
    lamp_menu
    ;;
    2)
    # yum 安装 MySQL...
     yum install mysql -y &> /dev/null
    if(($?==0))
    then
        echo "安装mysql成功"
    fi
    sleep 2
    lamp_menu
    ;;
    3)
    # yum 安装 PHP...
     yum install php -y &> /dev/null
    if(($?==0))
    then
        echo "安装php成功"
    fi
    sleep 2
    lamp_menu
    ;;
    4)
    clear
    menu
    ;;
    *)
    clear
    echo
        echo -e "\033[31mYour Enter the wrong,Please input again Choice:[1-4]\033[0m"
    lamp_menu
esac
}
function lnmp_menu(){
cat << EOF
----------------------------------------------
|*******Please Enter Your Choice:[1-4]*******|
----------------------------------------------
* `echo -e "\033[35m 1)nginx install\033[0m"`
* `echo -e "\033[35m 2)mysql install\033[0m"`
* `echo -e "\033[35m 3)php install\033[0m"`
* `echo -e "\033[35m 4)return main menu\033[0m"`
EOF
read -p "please input second_lnmp options[1-4]: " num3
expr $num3 + 1 &>/dev/null #这里加1,判断输入的是不是整数。
if [ $? -ne 0 ]
then #如果不等于零,代表输入不是整数。
    echo "###########################"
    echo "Waing !!!,input error "
    echo "Please enter choose[1-4]:"
    echo "##########################"
    sleep 1
else
    if [ $num3 -gt 4 ]
    then
        echo "###########################"
        echo "Waing !!!,Out of range "
        echo "Please enter choose[1-4]:"
        echo "##########################"
        sleep 1
    fi
fi
case $num3 in
    1)
    # yum 安装 Nginx...
     yum install nginx -y &> /dev/null
    if(($?==0))
    then
        echo "安装nginx成功"
    fi
    sleep 2
    lnmp_menu
    ;;
    2)
    # yum 安装 MySQL...
     yum install mysql -y &> /dev/null
    if(($?==0))
    then
        echo "安装mysql成功"
    fi
    sleep 2
    clear
    lnmp_menu
    ;;
    3)
    # yum 安装 PHP...
     yum install php -y &> /dev/null
    if(($?==0))
    then
        echo "安装php成功"
    fi
    sleep 2
    clear
    lnmp_menu
    ;;
    4)
    clear
    menu
    ;;
    *)
    clear
    echo
    echo -e "\033[31mYour Enter the wrong,Please input again Choice:[1-4]\033[0m"
    lnmp_menu
esac
}



clear
menu
while true
do
    read -p "##please Enter Your first_menu Choice:[1-4] " num1
    expr $num1 + 1 &>/dev/null #这里加1,判断输入的是不是整数。
    if [ $? -ne 0 ]
    then #如果不等于零,代表输入不是整数。
        echo "----------------------------"
        echo "| Waring!!! |"
        echo "|Please Enter Right Choice!|"
        echo "----------------------------"
        sleep 1
    elif [ $num1 -gt 4 ]
    then # 输入数字超范围
        echo "----------------------------"
        echo "| Waring!!! |"
        echo "| Out of range! |"
        echo "----------------------------"
        sleep 1
    else
        case $num1 in
            1)
            clear
            lamp_menu
            ;;
            2)
            clear
            lnmp_menu
            ;;
            3)
            clear
            break
            ;;
            4)
            clear
            menu
            ;;
            *)
            clear
            echo -e "\033[31mYour Enter a number Error,Please Enter again Choice:[1-4]: \033[0m"
            menu
        esac
    fi
done

到此这篇关于shell实现多级菜单脚本编写的示例代码的文章就介绍到这了,更多相关shell 多级菜单内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何利用shell开发keepalived启动脚本

    如何利用shell开发keepalived启动脚本

    Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。这篇文章主要介绍了使用shell开发keepalived启动脚本,需要的朋友可以参考下
    2020-03-03
  • 教你在Linux中从视频流截取图片帧(ffmpeg)

    教你在Linux中从视频流截取图片帧(ffmpeg)

    本文详细介绍了如何在Linux环境下使用ffmpeg命令来提取视频帧,通过设置指定的帧选择过滤器,每10帧提取一帧,总共提取5张图片,并设置输出图片的质量,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • 判断文件是否存在的shell脚本代码

    判断文件是否存在的shell脚本代码

    判断文件是否存在的shell脚本,有详细的注释,很不错,有需要的朋友不妨参考下
    2013-02-02
  • Shell字符串比较相等、不相等方法小结

    Shell字符串比较相等、不相等方法小结

    这篇文章主要介绍了Shell字符串比较相等、不相等方法小结,本文直接给出代码,但代码中含有大量注释,需要的朋友可以参考下
    2014-10-10
  • 用shell脚本在mysql表中批量插入数据的方法

    用shell脚本在mysql表中批量插入数据的方法

    这篇文章主要介绍了用shell脚本在mysql表中批量插入数据的方法,需要的朋友可以参考下
    2014-03-03
  • shell 编程中空格的使用方法

    shell 编程中空格的使用方法

    这篇文章主要介绍了shell 编程中空格的使用方法,需要的朋友可以参考下
    2015-01-01
  • awk脚本统计一组单词中字母出现最多最少频率

    awk脚本统计一组单词中字母出现最多最少频率

    这篇文章主要介绍编写一个 awk 脚本来找到一组单词中出现次数最多(和最少)的单词频率,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • Shell脚本之网段ip在线情况

    Shell脚本之网段ip在线情况

    本文介绍了一种使用Shell脚本的方法,用于检测特定网段(192.168.100.0/24)内所有IP地址的在线状态,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12
  • linux执行sh脚本报错:$’\r’: 未找到命令的完美解决方法

    linux执行sh脚本报错:$’\r’: 未找到命令的完美解决方法

    本文给大家介绍linux执行sh脚本报错:$’\r’: 未找到命令的完美解决方法,原因分析及解决办法给大家讲解的非常明白,感兴趣的朋友跟随小编一起看看吧
    2023-02-02
  • shell实现SSH自动登陆的方法示例

    shell实现SSH自动登陆的方法示例

    这篇文章主要介绍了shell实现SSH自动登陆的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05

最新评论