当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 14 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请问:怎样倒计时
帖子发表于 : 2009-11-03 8:44 

注册: 2007-05-28 5:27
帖子: 129
送出感谢: 3
接收感谢: 0 次
怎么在shell中显示一段有倒计时的话:例如:将在30秒后执行...... 其中,对30按秒进行倒计时

请问怎样实现?

谢谢!!!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2009-11-03 8:57 
头像

注册: 2009-07-08 17:33
帖子: 264
送出感谢: 0 次
接收感谢: 2
用sleep 1来暂停一秒。。。配合循环实现倒数


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2009-11-03 9:00 
头像

注册: 2008-03-25 15:49
帖子: 25876
地址: 谁知道?
送出感谢: 8
接收感谢: 10
觉着挺简单就是俺不会?
for 30 循环 每sleep一秒打印一次 。。可以不?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2009-11-03 9:01 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
代码:
for i in `seq 30 -1 1`; do echo -n "$i.. ";sleep 1;done && echo OK


_________________
关注我的blog: ε==3


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2009-11-03 12:19 
头像

注册: 2008-03-25 15:49
帖子: 25876
地址: 谁知道?
送出感谢: 8
接收感谢: 10
学习一下 :em11


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2009-11-03 13:34 

注册: 2008-11-01 21:42
帖子: 1028
地址: 树下板凳
送出感谢: 0 次
接收感谢: 1
代码:
n=30;
while true; do
    echo -n -e "\r还剩$((n--))秒关机,按任意键退出..."
    read -esr -n1 -t1 && break
    [ $n -eq 0 ] && echo -e "\n正在关机"&& break
done


_________________
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2009-11-03 22:28 

注册: 2008-04-15 14:57
帖子: 27
地址: sdust.B14.603
送出感谢: 0 次
接收感谢: 0 次
记得之前有人问过,果然搜到了 :em09
欢迎楼主详查!
viewtopic.php?f=21&t=225886&start=0


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2009-11-03 22:48 
头像

注册: 2006-08-24 21:25
帖子: 256
送出感谢: 0 次
接收感谢: 0 次
代码:
 n=20;while :;do echo $n;sleep 1;((n--));((n==0))&&echo "done"&&break;done


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2010-01-26 20:50 

注册: 2008-10-31 22:12
帖子: 6546
系统: 践兔
送出感谢: 18
接收感谢: 25
sleep配合for/while


_________________
代码:
] ls -ld //


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2010-02-08 23:41 
头像

注册: 2006-09-12 17:10
帖子: 493
送出感谢: 0 次
接收感谢: 0 次
如果你只是想30秒后执行,可以考虑at命令


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2010-02-08 23:47 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
倒计时的数字如何清屏后只显示一个??


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2010-02-10 10:20 

注册: 2008-03-06 4:56
帖子: 82
送出感谢: 0 次
接收感谢: 0 次
路过,各位都负点责任。。while+sleep的方式显然会有时间不准的问题。。
运行循环本身也需要一定的时间,一次不明显,加起来就多了,尤其是定时比较长,系统资源占用比较高的时候


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2010-02-10 10:57 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
yjcong 写道:
倒计时的数字如何清屏后只显示一个??

代码:
for i in `seq 30 -1 1`; do echo -ne "\r$i  ";sleep 1; done && echo -e "\rOK "


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 请问:怎样倒计时
帖子发表于 : 2010-02-10 17:30 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
xiooli 写道:
yjcong 写道:
倒计时的数字如何清屏后只显示一个??

代码:
for i in `seq 30 -1 1`; do echo -ne "\r$i  ";sleep 1; done && echo -e "\rOK "


thx


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 14 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译