(转)shell实现多级菜单脚本编写
shell实现多级菜单脚本编写
原文:https://www.yuanmas.com/info/2gOwBPvqyb.html
这篇文章主要介绍了Shell实现多级菜单系统安装脚本实例分享,本文脚本用多级菜单实现LAMP、LNMP安装展现效果,需要的朋友可以参考下:
提示:本脚本主要实现多级菜单效果,并没有安装LAMP、LNMP环境,如果要用在实际生成环境中部署LNMP、LAMP环境,只需要简单修改一下就可以了。
演示效果:
1、一级菜单
2、二级菜单
3、执行操作
脚本参考:
代码如下: |
#!/bin/bash # [ -f /etc/init.d/functions ] && . /etc/init.d/functions 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 "##########################" exit 1 fi case $num2 in 1) action "Installed httpd..." /bin/true sleep 2 lamp_menu ;; 2) action "Installed MySQL..." /bin/true sleep 2 lamp_menu ;; 3) action "Installed PHP..." /bin/true 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 $num2 + 1 &>/dev/null #这里加1,判断输入的是不是整数。 if [ $? -ne 0 ];then #如果不等于零,代表输入不是整数。 echo echo "Please enter a integer" exit 1 fi case $num3 in 1) action "Installed Nginx..." /bin/true sleep 2 lnmp_menu ;; 2) action "Installed MySQL..." /bin/true sleep 2 clear lnmp_menu ;; 3) action "Installed PHP..." /bin/true 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 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 done |
技术链接
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性