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 ...
随机推荐
- 项目中调用ExcelCom组件时的配置流程
异常提示如下: Microsoft Office Excel 不能访问文件“*.xls”. 可能的原因有: 1 文件名称或路径不存在. 2 文件正被其他程序使 ...
- 初学习-python打印乘法表、正方形、三角形
for x in range(1,4): for o in range(0,x-1): print('*',end='') pass pass print('*') print('\n')print( ...
- vs编译程序不能实现,“未能完成操作 未指定的错误”的解决办法
1.先把.vcproj 文件剪切到其他地方 2.打开.sln,报错->点“确定”->再点“确定” 3.把 .vcproj 文件 放回来,在vs2005右边的“解决方案”处右键 重新加载,就 ...
- NOIP2010~2017部分真题总结
NOIP2010~2017部分真题总结 2010 (吐槽)md这个时候的联赛还只有4题吗? 引水入城 只要发现对于有合法解的地图,每个蓄水厂贡献一段区间这个结论就很好做了 那么\(O(n^3)\)对每 ...
- shutil 模块 高级的文件、文件夹、压缩包 处理模块
高级的文件.文件夹.压缩包 处理模块 # 将文件内容拷贝到另一个文件中 shutil.copyfileobj(fsrc, fdst[, length]) import shutil shutil.co ...
- idea中maven 加载spring-boot项目程序包找不到解决…
首先检查maven配置对不对,包括被settings文件以及资源库的位置,maven版本等. 如果不行的话再进行下面的操作: 第一种方案: 在终端terminal中项目目录下,输入“mvn idea: ...
- 使用Kotlin开发Android应用(III):扩展函数和默认值
通过前面两篇文章,我们学习了Kotlin的基本知识,并知道如何配置工程,本文将接着介绍Java没有的而Kotlin实现了的有趣的特性.记住当你对Kotlin语言有任何疑问时,请参考官方指南.该指南组织 ...
- F110使用的函数
BAPI_ACC_DOCUMENT_POST BAPI_GL*POST 1.F-59 [没有找到函数]BAPI_ACC_DOCUMENT_POST 必须创建有借贷2 line 的凭证,需求要参考原始的 ...
- vue_router打包(webpack)
把组件按组分块 有时候我们想把某个路由下的所有组件都打包在同个异步 chunk 中.只需要 给 chunk 命名,提供 require.ensure第三个参数作为 chunk 的名称: require ...
- PAT 天梯赛 L2-015. 互评成绩 【排序】
题目链接 https://www.patest.cn/contests/gplt/L2-015 思路 在求和的过程中 标记一下 最大值和最小值,在最后求平均的时候 用总和减去最大值和最小值 去除 (总 ...