zoukankan      html  css  js  c++  java
  • 合格linux运维人员必会的30道shell编程实践题及讲解-12

    企业实践题12:打印选择菜单,一键安装Web服务:

    [root@oldboyscripts]# sh menu.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"后退出脚本;

    2、当用户输入2时,输出“startinstalling lnmp.”然后执行/server/scripts/lnmp.sh输出"lnmpis installed"后退出脚本;

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

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

    5、要对执行的脚本进行相关条件判断,例如:脚本是否存在,是否可执行等。

    #!/bin/bash
    [ -f /etc/init.d/functions ] && . /etc/init.d/functions
    menu(){
    cat << END
    ==================================
       1.[install lamp]
       2.[install lnmp]
       3.[exit]
       please input the num you want:
    ==================================
    END
    }
    menu
    read num
    [ $num -eq 1 ] && {
        echo "start installing lamp."
        if [ -x /server/scripts/lamp.sh ]'then
             /bin/bash /server/scripts/lamp.sh
        else 
             exit 1
    }
    [ $num -eq 2 ] && {
        echo "start installing lnmp."
        if [ -x /server/scripts/lnmp.sh ]'then
             /bin/bash /server/scripts/lnmp.sh
        else 
             exit 2
    }
    [ $num -eq 3] && exit $RERVAL
    echo "input error" && exit $RERVAL
    #!/bin/bash
    [ -f /etc/init.d/functions ] && . /etc/init.d/functions
    cat << MENU
    1.[install lamp] 2.[install lnmp] 3.[exit] please input the num you want: MENU read num case "$num" in 1) echo "start installing lamp." if [ -x /server/scripts/lamp.sh ]'then /bin/bash /server/scripts/lamp.sh else exit 1 2) echo "start install lnmp." if [ -x /server/scripts/lamp.sh ]'then /bin/bash /server/scripts/lnmp.sh else exit 1 3) exit $RETVAL *) echo "input error" && exit $RETVAL esac
  • 相关阅读:
    luoguP2657 [SCOI2009] windy 数 数位dp
    LOJ#3280. 「JOISC 2020 Day4」首都城市 点分治+BFS
    luoguP2168 [NOI2015]荷马史诗 哈夫曼树
    转载-如何在博客园随笔中增加章节导航
    转载-MySQL之终端(Terminal)管理数据库、数据表、数据的基本操作
    转载-MySQL之终端(Terminal)管理MySQL
    数据库缓存
    独立图片服务器的部署(了解)
    CDN加速
    MySQL update替换字段部分内容
  • 原文地址:https://www.cnblogs.com/oliver-blogs/p/7723828.html
Copyright © 2011-2022 走看看