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. LibreOJ 6280 数列分块入门 4(分块区间加区间求和)

    题解:分块的区间求和比起线段树来说实在是太好写了(当然,复杂度也高)但这也是没办法的事情嘛.总之50000的数据跑了75ms左右还是挺优越的. 比起单点询问来说,区间询问和也没有复杂多少,多开一个su ...

  2. fabric Clone

    记录下: var newObj = fabric.util.object.clone(obj); decDoc.dropCanvas.add(newObj., top: }));

  3. [.net 多线程]异步编程模式

    .NET中的异步编程 - EAP/APM 从.NET 4.5开始,支持的三种异步编程模式: 基于事件的异步编程设计模式 (EAP,Event-based Asynchronous Pattern) 异 ...

  4. RealSense R400系列深度相机的图像获取保存和格式转换

    关于RealSense的基础使用的博文用的库有点混杂,挺多博文都是早期maneger的那个库,对那个不是很了解,主要记录一下使用最新的函数库的基础使用. 相机型号:RealSense R435 使用函 ...

  5. linux虚拟机安装mysql(Mysql-5.7.10)

    注:MySQL5.5版本开始弃用了常规的configure编译方法,通过cmake来编译.需要下载安装cmake编译器.boost库.ncurses库.GNU分析器生成器bison 1. 安装基础环境 ...

  6. NSURLSession 网络请求

    1.NSURLSession 在 iOS9.0 之后,以前使用的 NSURLConnection 过期,苹果推荐使用 NSURLSession 来替换 NSURLConnection 完成网路请求相关 ...

  7. SQL数据库查询语言(1)

    目录 MySQL数据库 MySQL安装与配置 DDL数据定义语言 创建数据库 查看.删除数据库 修改.备份.恢复数据库 创建表 修改表 MySQL常用数据类型 DML数据操纵语言 Insert语句 m ...

  8. Linux上安装Hadoop集群(CentOS7+hadoop-2.8.3)

    https://blog.csdn.net/pucao_cug/article/details/71698903 1下载hadoop 2安装3个虚拟机并实现ssh免密码登录 2.1安装3个机器 2.2 ...

  9. 常用跨平台IDE如何添加main函数的参数并正确执行

    1. Eclipse-cdt如何添加main函数参数: 打开eclipse,新建工程.新建源文件,此处以C语言为例,写入代码如下: #include <stdio.h> //int arg ...

  10. I/O(输入/输出)---字节流与字符流

    流: 分为输入流和输出流,输入/输出是相对计算机内存来说的,数据输入到内存是输入流,数据从内存中输出是输出流. 流对象构造的时候会和数据源联系起来. 数据源分为:源数据源和目标数据源.输入流联系的是源 ...