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
|
最新文章
- Spring学习记录(十二)---AOP理解和基于注解配置
- ASP.NET Core 静态文件及JS包管理器(npm, Bower)的使用
- 关于datepicker只显示年、月、日的设置
- Arrays和Collection之间的转换
- linux-11 基本命令之 -工作期目录切换命令-pwd,cd,
- CSS3 文本3D效果
- Mysql 存储过程基本语法
- wav文件格式分析(二)
- 【UER #1】[UOJ#12]猜数 [UOJ#13]跳蚤OS [UOJ#14]DZY Loves Graph
- ASIFormDataRequest实现post的代码示例
- hadoop2.2编程:MRUnit
- tableview选择的时候不要cell的高亮显示样式
- HDU1171--Big Event in HDU(多重背包)
- springmvc04-文件上传-JSON数据
- Python源代码剖析笔记3-Python运行原理初探
- Android应用程序使用两个LinearLayout编排5个Button控件
- JVM初探- 使用堆外内存减少Full GC
- Udemy上免费的angualr2视频教程分享
- LeetCode算法题-Implement Stack Using Queues
- 【JDK源码】将JDK源码导入IDEA中
热门文章
- Xcode更新至IOS 9 后错误处理
- fabric Clone
- C#转java
- Google浏览器历史版和下载地址
- jmeter在linux上运行
- 【Guava】RateLimiter类
- resultType和resultMap的区别
- 条目七《如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉》
- c++11中关于`std::thread`线程传参的思考
- C#基于SQLiteHelper类似SqlHelper类实现存取Sqlite数据库的方法