简单的倒计时shell脚本
效果如下:
代码如下:
#! /bin/bash
#####################倒计时################
#作者:liop
#完成时间:2019.12.17
#三位数以内秒数的倒计时
##########################################
display(){case $1 in1)case $2 in1)echo "******** ";;2)echo "******** ";;3)echo " *** ";;4)echo " *** ";;5)echo " *** ";;6)echo " *** ";;7)echo " *** ";;8)echo " *** ";;9)echo " *** ";;10)echo " *** ";;11)echo "*************";;12)echo "*************";;*)echo ""esac;;2)case $2 in1)echo "*************";;2)echo "*************";;3)echo " ***";;4)echo " ***";;5)echo " ***";;6)echo "*************";;7)echo "*************";;8)echo "*** ";;9)echo "*** ";;10)echo "*** ";;11)echo "*************";;12)echo "*************";;*)echo ""esac;;3)case $2 in1)echo "*************";;2)echo "*************";;3)echo " ***";;4)echo " ***";;5)echo " ***";;6)echo "*************";;7)echo "*************";;8)echo " ***";;9)echo " ***";;10)echo " ***";;11)echo "*************";;12)echo "*************";;*)echo ""esac;;4)case $2 in1)echo "*** ***";;2)echo "*** ***";;3)echo "*** ***";;4)echo "*** ***";;5)echo "*** ***";;6)echo "*************";;7)echo "*************";;8)echo " ***";;9)echo " ***";;10)echo " ***";;11)echo " ***";;12)echo " ***";;*)echo ""esac;;5)case $2 in1)echo "*************";;2)echo "*************";;3)echo "*** ";;4)echo "*** ";;5)echo "*** ";;6)echo "*************";;7)echo "*************";;8)echo " ***";;9)echo " ***";;10)echo " ***";;11)echo "*************";;12)echo "*************";;*)echo ""esac;;6)case $2 in1)echo "*************";;2)echo "*************";;3)echo "*** ";;4)echo "*** ";;5)echo "*** ";;6)echo "*************";;7)echo "*************";;8)echo "*** ***";;9)echo "*** ***";;10)echo "*** ***";;11)echo "*************";;12)echo "*************";;*)echo ""esac;;7)case $2 in1)echo "*************";;2)echo "*************";;3)echo " ***";;4)echo " ***";;5)echo " ***";;6)echo " ***";;7)echo " ***";;8)echo " ***";;9)echo " ***";;10)echo " ***";;11)echo " ***";;12)echo " ***";;*)echo ""esac;;8)case $2 in1)echo "*************";;2)echo "*************";;3)echo "*** ***";;4)echo "*** ***";;5)echo "*** ***";;6)echo "*************";;7)echo "*************";;8)echo "*** ***";;9)echo "*** ***";;10)echo "*** ***";;11)echo "*************";;12)echo "*************";;*)echo ""esac;;9)case $2 in1)echo "*************";;2)echo "*************";;3)echo "*** ***";;4)echo "*** ***";;5)echo "*** ***";;6)echo "*************";;7)echo "*************";;8)echo " ***";;9)echo " ***";;10)echo " ***";;11)echo "*************";;12)echo "*************";;*)echo ""esac;;0)case $2 in1)echo "*************";;2)echo "*************";;3)echo "*** ***";;4)echo "*** ***";;5)echo "*** ***";;6)echo "*** ***";;7)echo "*** ***";;8)echo "*** ***";;9)echo "*** ***";;10)echo "*** ***";;11)echo "*************";;12)echo "*************";;*)echo ""esac;;*)echo ''esac
}
#for i in {1..12}
#do
# echo "$(display 1 $i) $(display 2 $i) $(display 3 $i)"
#donec1=$[$1%10]
if [ $1 -gt 99 ];thenc2=$[$[$1/10]%10]c3=$[$[$1/10]/10]
elif [ $1 -gt 9 ];thenc2=$[$[$1/10]%10]c3=0
elsec2=0c3=0
fi
while :
dowhile :dowhile :doif [ $c1 -lt 0 ];thenc1=9breakelsefor i in {1..5}doecho ""doneecho " 倒计时:"echo ""echo ""echo ""for i in {1..12}doecho -e "\e[31m $(display $c3 $i) $(display $c2 $i) $(display $c1 $i)\e[0m"donesleep 1let c1--clearfidoneif [ $c2 -eq 0 ];thenc2=9breakelselet c2--fidoneif [ $c3 -eq 0 ];thenecho "时间到!!"exitelselet c3--fi
done
更新版本如下(无位数限制):
#! /bin/bash
#####################倒计时################
#作者:liop
#完成时间:2019.12.17
#三位数以内秒数的倒计时
##########################################
display(){case $1 in1)case $2 in1)echo "11111111 ";;2)echo "11111111 ";;3)echo " 111 ";;4)echo " 111 ";;5)echo " 111 ";;6)echo " 111 ";;7)echo " 111 ";;8)echo " 111 ";;9)echo " 111 ";;10)echo " 111 ";;11)echo "1111111111111";;12)echo "1111111111111";;*)echo ""esac;;2)case $2 in1)echo "2222222222222";;2)echo "2222222222222";;3)echo " 222";;4)echo " 222";;5)echo " 222";;6)echo "2222222222222";;7)echo "2222222222222";;8)echo "222 ";;9)echo "222 ";;10)echo "222 ";;11)echo "2222222222222";;12)echo "2222222222222";;*)echo ""esac;;3)case $2 in1)echo "3333333333333";;2)echo "3333333333333";;3)echo " 333";;4)echo " 333";;5)echo " 333";;6)echo "3333333333333";;7)echo "3333333333333";;8)echo " 333";;9)echo " 333";;10)echo " 333";;11)echo "3333333333333";;12)echo "3333333333333";;*)echo ""esac;;4)case $2 in1)echo "444 444";;2)echo "444 444";;3)echo "444 444";;4)echo "444 444";;5)echo "444 444";;6)echo "4444444444444";;7)echo "4444444444444";;8)echo " 444";;9)echo " 444";;10)echo " 444";;11)echo " 444";;12)echo " 444";;*)echo ""esac;;5)case $2 in1)echo "5555555555555";;2)echo "5555555555555";;3)echo "555 ";;4)echo "555 ";;5)echo "555 ";;6)echo "5555555555555";;7)echo "5555555555555";;8)echo " 555";;9)echo " 555";;10)echo " 555";;11)echo "5555555555555";;12)echo "5555555555555";;*)echo ""esac;;6)case $2 in1)echo "6666666666666";;2)echo "6666666666666";;3)echo "666 ";;4)echo "666 ";;5)echo "666 ";;6)echo "6666666666666";;7)echo "6666666666666";;8)echo "666 666";;9)echo "666 666";;10)echo "666 666";;11)echo "6666666666666";;12)echo "6666666666666";;*)echo ""esac;;7)case $2 in1)echo "7777777777777";;2)echo "7777777777777";;3)echo " 777";;4)echo " 777";;5)echo " 777";;6)echo " 777";;7)echo " 777";;8)echo " 777";;9)echo " 777";;10)echo " 777";;11)echo " 777";;12)echo " 777";;*)echo ""esac;;8)case $2 in1)echo "8888888888888";;2)echo "8888888888888";;3)echo "888 888";;4)echo "888 888";;5)echo "888 888";;6)echo "8888888888888";;7)echo "8888888888888";;8)echo "888 888";;9)echo "888 888";;10)echo "888 888";;11)echo "8888888888888";;12)echo "8888888888888";;*)echo ""esac;;9)case $2 in1)echo "9999999999999";;2)echo "9999999999999";;3)echo "999 999";;4)echo "999 999";;5)echo "999 999";;6)echo "9999999999999";;7)echo "9999999999999";;8)echo " 999";;9)echo " 999";;10)echo " 999";;11)echo "9999999999999";;12)echo "9999999999999";;*)echo ""esac;;0)case $2 in1)echo "0000000000000";;2)echo "0000000000000";;3)echo "000 000";;4)echo "000 000";;5)echo "000 000";;6)echo "000 000";;7)echo "000 000";;8)echo "000 000";;9)echo "000 000";;10)echo "000 000";;11)echo "0000000000000";;12)echo "0000000000000";;*)echo ""esac;;*)echo ''esac
}
#for i in {1..12}
#do
# echo "$(display 1 $i) $(display 2 $i) $(display 3 $i)"
#done
c=$[$1*60]
c1=$c
while :
doc1=$cc2=0num=()while [ $c1 -gt 0 ]donum[$c2]=$[c1%10]let c1/=10let c2++donefor i in {1..4}doecho ''doneecho " 倒计时:"for i in {1..12}doc2=${#num[*]}echo -en "\e[31m \e[0m"while [ $c2 -ge 1 ]dolet c2--echo -en "\e[31m$(display ${num[$c2]} $i) \e[0m"doneecho ""donesleep 1clearlet c--if [ $c -eq 0 ]thenfor i in {1..4}doecho ''doneecho " 倒计时:"for i in {1..12}doecho -en "\e[31m \e[0m"echo -en "\e[31m$(display 0 $i) \e[0m"echo ""doneexitfi
done
简单的倒计时shell脚本相关推荐
- linux脚本怎么发送到桌面,如何在Linux上使用Zenity创建简单的图形Shell脚本
Zenity使用单个命令为shell脚本添加了图形界面. Shell脚本是自动化重复任务的好方法,但是它们通常只限于终端 - Zenity将它们从终端中导出到桌面上. 我们已经介绍了过去的shell脚 ...
- 几个简单有趣的shell脚本
文章目录 1.猜数字 2.石头剪刀布 3.排大小 4.时钟 5.开机启动问候 6.打印国际象棋 7. 打印乘法表 8. 彩色动态管道 1.猜数字 #!/bin/bash# 脚本生成一个 100 以内的 ...
- 一个简洁的倒计时shell 脚本
#! /bin/bash var1=10 while [ $var1 -gt 0 ] do echo -ne $var1(( var1-- ))sleep 1echo -ne "\r \r& ...
- 用shell脚本监控系统
简单的用shell脚本写一个"监控"程序作为思路,大致为:实时检测系统的内存使用率,如果大于阈值那么报警(如果有条件可以使用短信接口或者实在不行可以使用邮件通知),并记录到日志文件 ...
- Linux shell脚本基础学习详细介绍(完整版)2
详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...
- linux循环处理脚本命令,后端开发必须掌握的Linux命令[Shell脚本篇]
Shell脚本相关命令 介绍 一句话说明shell脚本是个啥 shell脚本就是将多个shell指令汇集到一起去完成一个复杂的功能 类似windows下的批处理文件 一般以sh为文件后缀 语法 程序结 ...
- linux shell 一行 for,BASH shell脚本回显到同一行输出
我有一个简单的BASH shell脚本,它检查curl命令的HTTP响应代码. 逻辑很好,但我坚持"简单地"打印出"输出". 我正在使用GNU bash,版本3 ...
- linux系统shell脚本编程,Linux系统shell脚本编程(一)
哈喽,大家好,我是Adam.前面我发了不少关于linux 的文章,今天也是一样,将分几篇文章系统化的讲讲shell脚本编程.废话不多说,走起走起! 首先说一下shell脚本是什么.简单来 ...
- php执行shell脚本
原文:https://blog.csdn.net/zhangsheng_1992/article/details/52805760 php作为一门服务器端脚本语言,也是可以调用系统命令的,这其中就包括 ...
最新文章
- 小学生python-现在连小学生都会Python了吗?
- mongodb 服务器时区设置_关于MongoDB-Balancer设置时间窗口的问题
- 前端学习(2122):项目演示
- C++primer第九章 顺序容器 9.5 额外的string操作
- 2c语言程序设计_大学生学C语言的理由是什么
- 使用CentOS光盘镜像作为YUM源安装rpm软件包
- 关联查询objectid_SAP 删除的BOM如何查询呢?
- 闲来无聊,随便看下asp.net Mvc 的收获
- 人口增长模型——基于matlab语言
- IDA6.1下载符号表时卡死
- 计算机联锁设备的组成及原理,铁路信号计算机联锁系统及技术分析
- html+JS+Jquery实现视频/图片上传并预览
- ps:HSB色彩模式
- C++和数据结构考试总结
- 静态分析Android程序
- Get_Web_banner(批量获取网站banner)
- 【论文阅读笔记】用于真实图像超分辨率的一种局部判别学习方法(LDL)
- 公司是船,我在船上。
- DataCastle用户贷款风险预测(完整数据)
- 刷新桌面后,桌面图标出现空位