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
时来天地皆同力,运去英雄不自由
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了