linux 倒计时,[shell]显示倒计时

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#!/bin/bash

#倒计时脚本

#用法 scriptname time (格式为: ([0-9]+h)?([0-9]m)?([0-9]+s)? , 如 scriptname 1h1m32s 代表 1小时1分钟32秒)

#ubuntu 13.04 32 测试

#需安装 gnome-osd-client sudo apt-get install ..

#把时间转换为秒

function t2s

{

h=`echo $1 |egrep -o '[0-9]+h' |egrep -o '[0-9]+'`

m=`echo $1 |egrep -o '[0-9]+m' |egrep -o '[0-9]+'`

s=`echo $1 |egrep -o '[0-9]+s' |egrep -o '[0-9]+'`

if [ ! -z $h ]

then

h=`expr $h \* 3600`

else

h=0

fi

if [ ! -z $m ]

then

m=`expr $m \* 60`

else

m=0

fi

if [ -z $s ]

then

s=0

fi

echo `expr $h + $m + $s`

}

#把秒转换为时间

function s2t

{

s=$1

prs=`expr $s % 60`

m=`expr \( $s - $prs \) / 60`

prm=`expr $m % 60`

h=`expr \( $m - $prm \) / 60`

[ ${h} -lt 10 ] && h="0${h}"

[ ${prm} -lt 10 ] && prm="0${prm}"

[ ${prs} -lt 10 ] && prs="0${prs}"

echo ${h}h:${prm}m:${prs}s

}

counter=${1-1m}

counter=`t2s ${counter}`

while [ ${counter} -gt 0 ]

do

tm=`s2t ${counter}`

gnome-osd-client -f "${tm}"

sleep 1

((--counter))

tm=`s2t ${counter}`

done

gnome-osd-client -f ""

#EOF

############################

执行 效果图

c7a8b3963c84d56e3a7fb2f31719bf35.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值