zoukankan      html  css  js  c++  java
  • 11:菜单自动化软件部署经典案例

    11企业Shell面试题11:菜单自动化软件部署经典案例

    综合实例:打印选择菜单,按照选择一键安装不同的Web服务。

    示例菜单:

    [root@oldboy scripts]# shmenu.sh

        1.[install lamp]

        2.[install lnmp]

        3.[exit]

        pls input the num you want:

    1、当用户输入1时,输出“startinstalling lamp.提示”然后执行/server/scripts/lamp.sh,脚本内容输出"lampis installed"后退出脚本,工作中就是正式lamp一键安装脚本;

    2、当用户输入2时,输出“startinstalling lnmp.提示” 然后执行/server/scripts/lnmp.sh输出"lnmpis installed"后退出脚本,工作中就是正式lnmp一键安装脚本;

    3、当输入3时,退出当前菜单及脚本;

    4、当输入任何其它字符,给出提示“Input error”后退出脚本;

    5、要对执行的脚本进行相关的条件判断,例如:脚本文件是否存在,是否可执行等判断,尽量用上前面讲解的知识点。

    解答:

    [root@jenkins scripts]# cat menu.sh
    #!/bin/bash
    ##############################################################
    # File Name: menu.sh
    # Version: V1.0
    # Author: gaobo
    # Organization: 641627690@qq.com
    # Created Time : 2017-12-05 22:05:50
    # Description:
    ##############################################################
    menu() {
    
        cat <<END
        1.[install lamp]
        2.[install lnmp]
        3.[install nfs]
        4.[install rsync]
            please input the num that you want:
    END
    }
    
    menu
    
    read a
    
    case $a in
          1)
        sh /server/scripts/lamp.sh
          ;;
        
          2)
        echo "bbb"
          ;;
    
          3)
        echo "ccc"
          ;;
          *)
        echo "other"
           ;;
    esac
    cat<<EOF
    1. install rsync
    2. install nfs
    3. install mysql
    4. install all
    EOF
    
    read -p '请输入你的选择:' chs
    
    case $chs in
      1)
       echo install rsync success
       ;;
      2)
       echo install nfs success
       ;;
      3)
       echo install mysql success
       ;;
      4)
       echo install rsync/nfs/mysql success
       ;;
      *)
       echo "你输入有误"
    esac
  • 相关阅读:
    React项目搭建与部署
    桌面应用之electron开发与转换
    React Native之支付集成(微信 支付宝)(ios android)
    WEB通知和React Native之即时通讯(iOS Android)
    React Native之配置URL Scheme(iOS Android)
    Mybatis操作oracle数据库的一些坑
    java -jar和hadoop jar的区别
    springBoot启动的时候动态选择装载某些bean
    Java常用正则表达式
    java获取当前运行的方法名称
  • 原文地址:https://www.cnblogs.com/gaoyuechen/p/7989814.html
Copyright © 2011-2022 走看看