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. 编写高质量代码改善C#程序的157个建议——建议55:利用定制特性减少可序列化的字段

    建议55:利用定制特性减少可序列化的字段 特性(attribute)可以声明式地为代码中的目标元素添加注释.运行时可以通过查询这些托管块中的元数据信息,达到改变目标元素运行时行为的目的.System. ...

  2. 20169219 TCP_IP网络协议攻击实验报告

    (1) ARP缓存欺骗 RP 缓存是 ARP 协议的重要组成部分.ARP 协议运行的目标就是建立 MAC 地址和 IP 地址的映射,然后把这一映射关系保存在 ARP 缓存中,使得不必重复运行 ARP ...

  3. 【Java】java中的compareTo和compare的区别

    compare 从这里可以看出,compare是Comparator接口中的一个类,再看一下源代码中的解释 Compares its two arguments for order. Returns ...

  4. laravel中chunk方法使用外部变量以及改变该变量

  5. C# 抽象(4)

    抽象类和普通类有区别嘛?在继承的时候,还是只能继承一次父类嘛? 答案: 抽象类除了在抽象方法和属性上面不能实现具体的代码之外和普通类没有区别.依旧符合类的基本特征.所以在继承的时候抽象类也是属于基类, ...

  6. Selenium辅助工具

    下载Firefox39.0版本浏览器,安装firebug和FirePath.最新版的Firefox在扩展组件中无法找到firebug,可以使用旧的版本的Firefox浏览器. FirePath插件的使 ...

  7. F - ACboy needs your help again! (模拟)

    ACboy was kidnapped!! he miss his mother very much and is very scare now.You can't image how dark th ...

  8. [SinGuLaRiTy] 2017 百度之星程序设计大赛 复赛

    [SinGuLaRiTy-1038] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. Arithmetic of Bomb Problem D ...

  9. postgreSQL PL/SQL编程学习笔记(一)

    1.Structure of PL/pgSQL The structure of PL/pgSQL is like below: [ <<label>> ] [ DECLARE ...

  10. javascript jquery console调试方法说明

    控制台(Console)是Firebug的第一个面板,也是最重要的面板,主要作用是显示网页加载过程中产生各类信息. 一.显示信息的命令 Firebug内置一个console对象,提供5种方法,用来显示 ...