linux基础(10)-导航菜单

浏览: 895

导航菜单实战

例:编写一个shell脚本,包含多个菜单,其中需要一个退出选项;可单选也可多选;根据序号选择后,显示所选菜单名称。

#!/bin/bash
#############################
#文件名称:install_hadoop_menu.sh
#作者姓名:wujiadong
#创建日期:
2016-07-08
#############################

#主菜单 显示
while true
do
clear
echo
-e "\n\n \t\t \033[40;32m ====飞谷安装hadoop主界面=====\033[1m \t\t"
echo
-e "\n"
echo
-e "\t"1\)安装hadoop
echo
-e "\t"2\)安装hbase
echo
-e "\t"3\)安装zookeeper
echo
-e "\t"4\)安装hive
echo
-e "\t"5\)安装pig
echo
-e "\t"6\)安装spark
echo
-e "\t"7\)选择组件安装
echo
-e "\t"8\)一键安装所有
echo
-e "\t"0\)退出
echo
-e "\n"
echo
-e "请选择"
read choice #将输入的序号存入choice这个变量

case $choice in
0)
break;;
1)
echo
"正在安装hadoop..."
sleep
5
echo
"hadoop安装成功,请按回车,选择其他内容"
read menu
continue;;
2)

echo
"正在安装habase..."
sleep
5
continue;;
3)
echo
"正在安装hbase..."
sleep
5
continue;;
4)
echo
"正在安装zookeeper..."
sleep
4
continue;;
5)
echo
"正在安装pig..."
sleep
3
continue;;
6)
echo
"正在安装spark..."
sleep
3
continue;;
7)
echo
"进入选择安装hadoop组件界面"
sh
select.sh
continue;;
8)
echo
"正在安装以上所有组件"
sleep
3
continue
esac

done
#!/bin/bash
###############################
#文件名称:
select.sh
#作者姓名:邬家栋
#创建日期:
2016-07-08
###############################
#主菜单 显示
clear

while true
do
clear
echo
-e "\n\n \t\t \033[40;32m =====请选择需要安装的组件=====\033[1m \t\t"
echo
-e "\n"
echo
-e "\t" 1\)安装hadoop
echo
-e "\t" 2\)安装hbase
echo
-e "\t" 3\)安装zookeeper
echo
-e "\t" 4\)安装hive
echo
-e "\t" 5\)安装pig
echo
-e "\t" 6\)安装spark
echo
-e "\t" 0\)返回
echo
-e "\n"
echo
"请选择需要安装组件的代码,多选以逗号分隔:"
read choice #将屏幕输出的内容保存到choice变量里面

###一个case语句
case $choice in
0) 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
5

if [ $? -eq 0 ]; then
echo
"安装${var1}成功"|tee a install.log
else
echo
"安装${var1}失败"|tee a install.log
fi

done

done
#!/bin/bash
##########################
#文件名称:select_sub.lst
#作者姓名:邬家栋
#创建日期:
2016-07-08
#########################
3

1,安装hadoop
2,安装hbase
3,安装zookeeper
4,安装hive
5,安装pig
6,安装spark

执行sh install_hadoop_mainmenu.sh

image.png

选1之后

image.png

选7之后

image.png

image.png

注释:

反引号:在执行一条命令时,会先将其中的``语句当做命令执行一遍,再将结果加入到原命令中重新执行。和${}是一样的

 sed的替换:'s/旧字符/新字符/g'

推荐 0
本文由 邬家栋 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册