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 多级菜单内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论