bash 实现菜单
2024-09-04 14:33:27
#!/bin/bash
a=`ls /data1/chenggang5/kepler/cases`
cat <<EOF
`j=0;for i in $a;do let j=$j+1;if [ $((j%5)) -ne 0 ];then print=\`printf "%-21s\t" $i\`;echo -n -e "\e[1;32m $print \e[0m";else print=\`printf "%-21s" $i\`;echo -e "\e[1;32m $print \e[0m";fi; done`
EOF
while [ 0 ]
do
echo -n -e "\e[1;33m【请选择要执行的案例,如输入03,输入all,则执行全部案例,输入q或e,则退出程序】:\e[0m"
read input
for i in $a
do
w=`echo $i|awk -F\. '{print $1}'`
x=`echo $i|awk -F\. '{print $0}'`
case $input in
$w)
sh ../bin/run.sh cases/$x
esac
done
case $input in
all)
sh ../bin/run.sh cases
;;
q)
exit;;
Q)
exit;;
e)
exit;;
E)
exit;;
esac
done
命令详解:
cat <<EOF
EOF
控制多行输出
`j=0;for i in $a;do let j=$j+1;if [ $((j%5)) -ne 0 ];then print=\`printf "%-21s\t" $i\`;echo -n -e "\e[1;32m $print \e[0m";else print=\`printf "%-21s" $i\`;echo -e "\e[1;32m $print \e[0m";fi; done`
这一行主要是 规定每行的输出列数,并对其进行颜色设置 while [ 0 ] 控制循环;read 读取键盘输入;case 进行选择
效果图如下:
最新文章
- display:inline-block会产生空隙
- 全文检索引擎Solr系列——整合MySQL、MongoDB
- ASP.NET身份验证
- 关于postgresql——常用操作指令
- SQLite数据库入门教程
- C#基础之------控制台进程
- Struts2实现单文件上传
- Flex性能调优相关的一些总结
- Linux配置全局jdk
- C++图形编程之graphics.h头文件
- Iterator &; Iterable 和 Comparable&;Comparator
- 如何在EXCEL中找出第一列中不包含的第二列数据
- httpclient cookie使用介绍
- Django的路由层(1)
- Mac服务管理-Launchd(转)
- 软件磁盘阵列 (Software RAID)
- 快速掌握用python写并行程序
- while循环 for循环的理解
- UOJ348. 【WC2018】州区划分
- Struts2之类范围拦截器和方法拦截器