(转)shell实现多级菜单脚本编写

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
时间: 2024-10-07 20:58:22

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

shell实现多级菜单脚本编写

这篇文章主要介绍了Shell实现多级菜单系统安装脚本实例分享,本文脚本用多级菜单实现LAMP.LNMP安装展现效果,需要的朋友可以参考下: 提示:本脚本主要实现多级菜单效果,并没有安装LAMP.LNMP环境,如果要用在实际生成环境中部署LNMP.LAMP环境,只需要简单修改一下就可以了. 演示效果: 1.一级菜单 2.二级菜单 3.执行操作 脚本参考: 代码如下: #!/bin/bash # [ -f /etc/init.d/functions ] && . /etc/init.d/fun

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

shell脚本编程是linux运维工程师必备的技能,也是非常重要的一个技能,所以把shell编程学好,只有好处.基础语法我也就不讲了,学过C语言这些语言的,稍微看一下就能明白shell编程的基础,所以我们直接切入正题. 开班第20天: 今天的课程大纲: shell编程中的函数 编写一个自动挂载的脚本 利用autofs怎么实现自动挂载 文件锁和信号捕获trap sed流文件编辑器 详细讲解: shell编程中的函数 shell中,我们定义函数的方法有两种: 下面调用的时候,直接调用函数名就可以了

shell 下简单菜单脚本

menu.sh 菜单界面脚本 #!/bin/bash #menu.sh function menu(){ cat << eof ############################################# `echo -e "\033[32;40m  menu \033[0m"` ############################################# *    1)add a user *    2)set password for use

Day10.awk命令以及shell的脚本编写

作业一:awk.变量的整理 awk语法:-F 定义字段分隔符,默认的分隔符是连续的空格或制表符用$1,$2,$3等的顺序表示files中每行以间隔符号分隔的各列不同域NF变量表示当前记录的字段数NR变量表示AWK读入的行数-v 定义变量并赋值 也可以借用次方式从shell变量中引入 变量:1.系统变量set:显示所有变量env:环境变量2.赋值变量VARNAME=VALUEecho $VARNAME删除变量 unset VARNAME3.常用系统变量 PATH.PWD.LANG.HOME.HIS

shell脚本编写nginx部署脚本

下面为shell脚本编写的nginx的安装及修改nginx.conf的脚本,脚本比较简单: #!/bin/bash function yum_install(){ yum install epel-release -y yum install nginx -y} yum_install pw=/etc/nginx/nginx.confread -p "请输入组名:" zuread -p "请输入第一个ip地址:" ip1read -p "请输入第二个ip地

shell 脚本编写基础

在进行Linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入 ./smartzip就能运行脚本了.. 每行命令开头处不用就空格也行.. 第1部分. linux 脚本编写基础 1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执

shell脚本编写方法

shell脚本编写就如同一门语言,涉及到运行环境.基本语法.变量定义.函数.参数(系统参数).条件判定.执行流程控制 等等问题. 本文就以下几个方面进行描述: 运行环境: shell  shebang  Path 基本语法: 命令.变量.函数.参数.条件.流程控制. 变量相关:定义.命令参数变量和系统参数 与 配置文件读取(-r cron.daily/sysstat脚本中). 函数:定义方法 条件判定与环境测试:-x -d -f 等 执行流程控制:case 等 字符串处理与高级指令: (sed

小鸟初学Shell编程(二)编写简单的Shell脚本

Shell脚本 编写Python.PHP脚本通常需要掌握语言的函数,那么Shell脚本则不需要,只需要掌握Linux命令就可以编写Shell脚本,因为Shell脚本就是由多个Linux命令组成,通过将多个Linux命令组合保存成一个脚本文件,可直接给其他人使用. 组合命令 进入一个目录,查看目录的文件,这个过程分别需要执行两条命令,分别是cd 和ls. 分开执行两个命令的形式如下: [[email protected] usr]# cd /usr/ [[email protected] usr]

Linux 脚本编写基础

1. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须放在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执行:编译 chmod +x filename 这样才能用./filename 来运行1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您在程序中使用