bash 实现菜单

#!/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 进行选择
效果图如下:

 

转载于:https://www.cnblogs.com/ggbond1988/p/4835078.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值