linux基础(10)-导航菜单
导航菜单实战
例:编写一个shell脚本,包含多个菜单,其中需要一个退出选项;可单选也可多选;根据序号选择后,显示所选菜单名称。
- #!/bin/bash
- #############################
- #文件名称:install_hadoop_menu.sh
- #作者姓名:wujiadong
- #创建日期:--
- #############################
- #主菜单 显示
- while true
- do
- clear
- echo -e "\n\n \t\t \033[40;32m ====飞谷安装hadoop主界面=====\033[1m \t\t"
- echo -e "\n"
- echo -e "\t"\)安装hadoop
- echo -e "\t"\)安装hbase
- echo -e "\t"\)安装zookeeper
- echo -e "\t"\)安装hive
- echo -e "\t"\)安装pig
- echo -e "\t"\)安装spark
- echo -e "\t"\)选择组件安装
- echo -e "\t"\)一键安装所有
- echo -e "\t"\)退出
- echo -e "\n"
- echo -e "请选择"
- read choice #将输入的序号存入choice这个变量
- case $choice in
- )
- break;;
- )
- echo "正在安装hadoop..."
- sleep
- echo "hadoop安装成功,请按回车,选择其他内容"
- read menu
- continue;;
- )
- echo "正在安装habase..."
- sleep
- continue;;
- )
- echo "正在安装hbase..."
- sleep
- continue;;
- )
- echo "正在安装zookeeper..."
- sleep
- continue;;
- )
- echo "正在安装pig..."
- sleep
- continue;;
- )
- echo "正在安装spark..."
- sleep
- continue;;
- )
- echo "进入选择安装hadoop组件界面"
- sh select.sh
- continue;;
- )
- echo "正在安装以上所有组件"
- sleep
- continue
- esac
- done
- #!/bin/bash
- ###############################
- #文件名称:select.sh
- #作者姓名:邬家栋
- #创建日期:--
- ###############################
- #主菜单 显示
- clear
- while true
- do
- clear
- echo -e "\n\n \t\t \033[40;32m =====请选择需要安装的组件=====\033[1m \t\t"
- echo -e "\n"
- echo -e "\t" \)安装hadoop
- echo -e "\t" \)安装hbase
- echo -e "\t" \)安装zookeeper
- echo -e "\t" \)安装hive
- echo -e "\t" \)安装pig
- echo -e "\t" \)安装spark
- echo -e "\t" \)返回
- echo -e "\n"
- echo "请选择需要安装组件的代码,多选以逗号分隔:"
- read choice #将屏幕输出的内容保存到choice变量里面
- ###一个case语句
- case $choice in
- ) break;;
- esac
- V_INPUT=`echo $choice|sed 's/,/\n/g'` #|管道是将前面命令的输出作为后面命令的输入。sed 语句将逗号变成换行符,变成了多行文件。
- for i in $V_INPUT #for循环读取该文件
- do
- j=`grep $i select_sub.lst`
- var1=`echo $j | awk -F,'{print $2}'`
- echo "正在安装${var}..."
- sleep
- if [ $? -eq ]; then
- echo "安装${var1}成功"|tee a install.log
- else
- echo"安装${var1}失败"|tee a install.log
- fi
- done
- done
- #!/bin/bash
- ##########################
- #文件名称:select_sub.lst
- #作者姓名:邬家栋
- #创建日期:--
- #########################
- ,安装hadoop
- ,安装hbase
- ,安装zookeeper
- ,安装hive
- ,安装pig
- ,安装spark
执行sh install_hadoop_mainmenu.sh
选1之后
选7之后
linux基础(10)-导航菜单的更多相关文章
- 《前端运维》一、Linux基础--10定时任务
一.进程管理 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体 ...
- Linux基础(10)AIO项目设计与POSIX文件操作和目录管理
实现fast-cp :拷贝文件到目标对象 Linux的七种文件类型 :https://blog.csdn.net/linkvivi/article/details/79834143 ls -al :h ...
- 『学了就忘』Linux基础 — 10、VMware虚拟机中克隆的使用
目录 1.什么是克隆 2.克隆的两种类型 (1)完整克隆 (2)链接克隆 3.克隆操作 步骤一:克隆虚拟机 步骤二:进行克隆导向 3.快照与克隆的区别 4.镜像的管理 快照和克隆是VMware中两个非 ...
- A:linux基础章节导航
本章的内容主要有: 模板机的安装 常用的小命令 find awk vim sed
- bootstrap基础学习【菜单、按钮、导航】(四)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Netsharp快速入门(之6) 基础档案(创建导航菜单)
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 1.1 创建导航菜单 1.在Demo节点下,录入路径名称,并在下方录入两个导航页签名 2.建立分类,只要填路径名 3.双击基 ...
- linux 学习10 shell 基础
10.1 Shell概述 .Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一 ...
- Linux基础学习系列目录导航
Linux基础学习-通过VM安装RHEL7.4 Linux基础学习-命令行与图形界面切换 Linux基础学习-基本命令 Linux基础学习-RHEL7.4之YUM更换CentOS源 Linux基础学习 ...
- 【Python之路】第一篇--Linux基础命令
pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 . 表示当前目录 .. 表示上级目录 / 表示根目录 ls ...
随机推荐
- @Resource 注解
@Resource 注解被用来激活一个命名资源(named resource)的依赖注入,在JavaEE应用程序中,该注解被典型地转换为绑定于JNDI context中的一个对象. Spring确实支 ...
- xshell ftp报错:找不到匹配的outgoing encryption算法
场景:由于登陆跳板机都是从采用密钥的方式进行登陆的,然后在传输文件的时候报错 报错信息: 解决方案: 点击属性--->选择aes256-ctr加密方式默认这里是没有选择的 再次连接就成功连接上去 ...
- JS探秘——那些你理解存在偏差的问题
Javascript的连续赋值运算 var a = {n:1}; a.x = a = {n:2}; alert(a.x); // --> undefined 看 jQuery 源码 时发现的这种 ...
- iOS学习笔记(九)——xml数据解析
在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML.TouchXML.KissXML.Tiny ...
- Balala Power!(大数+思维)
Balala Power! Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- 安装git和配置
首先更新系统 yum -y update 安装依赖的包 yum -y install curl-devel expat-devel gettext-devel openssl-devel zli ...
- HTML页面布局
接下来的下面代码,只是给了一个大的前端编写布局,如果你已经是牛人了,就当没看到,如果是一些初学者,不妨拿去用用,里面也写了一些常用的css样式,现在虽然有很多牛逼的前段框架,用起来也非常得心应手,但是 ...
- Unity使用native读取streamingasset里文件
需求是,使用native方式,读取apk包里的lua代码,读进c#,做解密 一准备unity工程 public class GameMain : MonoBehaviour { public cons ...
- MySQL中too many connections超出最大连接数的处理方法
MySQL最大连接数的问题 在MySQL的源码中,默认最大的连接数是16384 {"max_connections", OPT_MAX_CONNECTIONS, "The ...
- Windows系统Python 安装第三方模块时,提示pip版本有问题
如果按照提示输入python -m pip install --upgrade pip 还不行, 那么执行easy_install --upgrade pip 即可 参考:https://stacko ...