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

(转)shell实现多级菜单脚本编写的更多相关文章

  1. Shell实现多级菜单系统安装维护脚本实例分享

    Shell实现多级菜单系统安装维护脚本实例分享 这篇文章主要介绍了Shell实现多级菜单系统安装维护脚本实例分享,本文脚本用多级菜单实现管理WEB服务器.Mysql服务器.Nginx服器等,需要的朋友 ...

  2. shell编程之服务脚本编写,文件锁以及信号捕获

    shell脚本编程是linux运维工程师必备的技能,也是非常重要的一个技能,所以把shell编程学好,只有好处.基础语法我也就不讲了,学过C语言这些语言的,稍微看一下就能明白shell编程的基础,所以 ...

  3. 【shell 练习5】编写简单的多级菜单

    一.简单的多级菜单 [root@web129 ~]# cat menu.sh #!/bin/bash #shell菜单演示 function menu() { echo -e `date` cat & ...

  4. Shell菜单脚本

    今天在这儿给大家分享一个我简单编写的Shell菜单脚本,傻瓜式的人机交互,人人都可以操作linux. #!/bin/sh #Shell菜单演示 function menu () { cat <& ...

  5. shell脚本编写方法

    shell脚本编写就如同一门语言,涉及到运行环境.基本语法.变量定义.函数.参数(系统参数).条件判定.执行流程控制 等等问题. 本文就以下几个方面进行描述: 运行环境: shell  shebang ...

  6. shell脚本编写笔记

    包含转载内容,转载自http://wenku.baidu.com/link?url=jtCHxEYzgGve6P64U3JRQRgU6nhpGvqFLLpWu9I2Htq6hi9TGLudRFkk7r ...

  7. 7. Shell 脚本编写

    一.Shell 脚本编写 1.提示用户输入一个字符串,如果是 hello,打出 yes,并每秒输出 "hello,world",否则就输出 no,实现如下: #!/bin/bash ...

  8. shell 脚本编写基础

    在进行Linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入 ./smartzip就能运行脚本了.. 每行 ...

  9. Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)

    I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量                env:环境变量 常用系统变量: path pwd lang home his ...

随机推荐

  1. 微服务linux启动停止脚本

    # 停止脚本#!/bin/bash #其他服务停止脚步可以通过修改APP_MAIN参数即可 APP_MAIN=com.idoipo.infras.eureka.center.Application t ...

  2. ComicEnhancerPro 系列教程十九:用JpegQuality看JPG文件的压缩参数

    作者:马健邮箱:stronghorse_mj@hotmail.com 主页:http://www.comicer.com/stronghorse/ 发布:2017.07.23 教程十九:用JpegQu ...

  3. React + Python 七月小说网 启程(一)

    一.为啥要做这个网站 很久没有写技术相关的博客了,最近几个月忙飞,各种工作,技术根本学不完,很难受. 趁着春节期间,终于有空闲时间做自己爱做的事情了,美滋滋. 热爱技术,热爱小说,于是诞生了个这么玩意 ...

  4. php 递归删除目录

    /* * 递归删除目录 */ function deletedir($dir){ if($handle = @opendir($dir)){ while($file = readdir($handle ...

  5. 题解 P1720 【月落乌啼算钱】

    题目链接 定义一个函数比较好求. #include<bits/stdc++.h>//万能头文件 using namespace std; double F(int x)//定义函数,为了保 ...

  6. model中的Meta类

    通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(models.Model): bar = models.CharFi ...

  7. [Swift实际操作]九、完整实例-(3)创建和安装开发证书、发布证书及开发证书配置文件、发布证书配置文件

    本文将为你演示,如何创建开发证书和发布证书,以及其他辅助内容.首先打开浏览器,进入[苹果开发者网站]输入[Apple ID]和[密码],点击登录按钮,进入开发者管理后台. 点击左侧的[Membersh ...

  8. centos7多节点部署redis4.0.11集群

    1.服务器集群服务器 redis节点node-i(192.168.0.168) 7001,7002node-ii(192.168.0.169) 7003,7004node-iii(192.168.0. ...

  9. jquery图片切换

    图片的切换主要用的知识点事JavaScript和jquery,只要掌握着二种,基本可以写出图片切换效果,如果要好看点的特效,那就到网上找一个插件吧,我自己也是学后端的,偶尔也写一下前段, 我没有专业写 ...

  10. K3 Wise 常用表【转载】

    在后台数据库ICClassType表中,字段FID<0的是老单,FID>0的是新单.--事务类型select * from ICClassType            where  FT ...