效果如下:

代码如下:

#! /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脚本相关推荐

  1. linux脚本怎么发送到桌面,如何在Linux上使用Zenity创建简单的图形Shell脚本

    Zenity使用单个命令为shell脚本添加了图形界面. Shell脚本是自动化重复任务的好方法,但是它们通常只限于终端 - Zenity将它们从终端中导出到桌面上. 我们已经介绍了过去的shell脚 ...

  2. 几个简单有趣的shell脚本

    文章目录 1.猜数字 2.石头剪刀布 3.排大小 4.时钟 5.开机启动问候 6.打印国际象棋 7. 打印乘法表 8. 彩色动态管道 1.猜数字 #!/bin/bash# 脚本生成一个 100 以内的 ...

  3. 一个简洁的倒计时shell 脚本

    #! /bin/bash var1=10 while [ $var1 -gt 0 ] do echo -ne $var1(( var1-- ))sleep 1echo -ne "\r \r& ...

  4. 用shell脚本监控系统

    简单的用shell脚本写一个"监控"程序作为思路,大致为:实时检测系统的内存使用率,如果大于阈值那么报警(如果有条件可以使用短信接口或者实在不行可以使用邮件通知),并记录到日志文件 ...

  5. Linux shell脚本基础学习详细介绍(完整版)2

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  6. linux循环处理脚本命令,后端开发必须掌握的Linux命令[Shell脚本篇]

    Shell脚本相关命令 介绍 一句话说明shell脚本是个啥 shell脚本就是将多个shell指令汇集到一起去完成一个复杂的功能 类似windows下的批处理文件 一般以sh为文件后缀 语法 程序结 ...

  7. linux shell 一行 for,BASH shell脚本回显到同一行输出

    我有一个简单的BASH shell脚本,它检查curl命令的HTTP响应代码. 逻辑很好,但我坚持"简单地"打印出"输出". 我正在使用GNU bash,版本3 ...

  8. linux系统shell脚本编程,Linux系统shell脚本编程(一)

    哈喽,大家好,我是Adam.前面我发了不少关于linux 的文章,今天也是一样,将分几篇文章系统化的讲讲shell脚本编程.废话不多说,走起走起!        首先说一下shell脚本是什么.简单来 ...

  9. php执行shell脚本

    原文:https://blog.csdn.net/zhangsheng_1992/article/details/52805760 php作为一门服务器端脚本语言,也是可以调用系统命令的,这其中就包括 ...

最新文章

  1. 小学生python-现在连小学生都会Python了吗?
  2. mongodb 服务器时区设置_关于MongoDB-Balancer设置时间窗口的问题
  3. 前端学习(2122):项目演示
  4. C++primer第九章 顺序容器 9.5 额外的string操作
  5. 2c语言程序设计_大学生学C语言的理由是什么
  6. 使用CentOS光盘镜像作为YUM源安装rpm软件包
  7. 关联查询objectid_SAP 删除的BOM如何查询呢?
  8. 闲来无聊,随便看下asp.net Mvc 的收获
  9. 人口增长模型——基于matlab语言
  10. IDA6.1下载符号表时卡死
  11. 计算机联锁设备的组成及原理,铁路信号计算机联锁系统及技术分析
  12. html+JS+Jquery实现视频/图片上传并预览
  13. ps:HSB色彩模式
  14. C++和数据结构考试总结
  15. 静态分析Android程序
  16. Get_Web_banner(批量获取网站banner)
  17. 【论文阅读笔记】用于真实图像超分辨率的一种局部判别学习方法(LDL)
  18. 公司是船,我在船上。
  19. DataCastle用户贷款风险预测(完整数据)
  20. 刷新桌面后,桌面图标出现空位

热门文章

  1. 神州泰岳的服务流程业务方向
  2. 一键GHOST做全盘镜像
  3. Python 实现随机生成双色球号码
  4. finalshell链接跳板机
  5. java 获取系统信息及CPU的使用率
  6. 人脸识别的最新进展以及工业级大规模人脸识别实践探讨
  7. git detached HEAD explained
  8. 教你设计一个接收机和发射机FDD系统
  9. 服务器的安全措施有哪些
  10. 知乎:您的帐号由于存在异常行为暂时被知乎反作弊系统锁定怎么解封?