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
##############################################################
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
复制代码

 

 
posted @   滴滴滴  阅读(410)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示