LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1968|回复: 17

如何实现显示一行变化的信息,像wget的下载进度条

[复制链接]
发表于 2003-11-29 16:40:17 | 显示全部楼层 |阅读模式
关键怎么实现不断变化的百分数?
发表于 2003-11-29 17:19:51 | 显示全部楼层
先看看下面的链接,都是关于进度条的,这个问题不是几句话能说清楚的,
http://www.linuxsir.cn/bbs/showt ... hlight=%BD%F8%B6%C8
http://www.linuxsir.cn/bbs/showt ... hlight=%BD%F8%B6%C8
 楼主| 发表于 2003-11-29 23:05:09 | 显示全部楼层
且不论进度条
怎么就能实现一行文字原处变化?
发表于 2003-11-29 23:42:33 | 显示全部楼层
  1. cat timer
  2. #!/bin/ksh
  3. #
  4. #==================BEGIN=====================
  5. function t {
  6. for i in $(perl -e 'print join(" ",0..99)');do
  7. print -n "\t:$i\r"
  8. usleep 100
  9. done
  10. }
  11. #print "Press CTRL+C OR CTRL+\ break!"
  12. while : ; do
  13. print -n "$(date|cut -f4 -d' ')\r";t
  14. done
  15. #==================END=======================
复制代码
试试这个脚本吧~~
 楼主| 发表于 2003-11-29 23:53:06 | 显示全部楼层
print -n "$(date|cut -f4 -d' ')\r";t
什么意思?
发表于 2003-11-30 00:04:36 | 显示全部楼层
最初由 zhouxuan37 发表
print -n "$(date|cut -f4 -d' ')\r";t
什么意思?

\r你可以理解成是删除当前的字符,其实就是个退格操作,当然,根据不同的shell,对这些序列转义的解释有些差别,man 一下你的shell吧~~,;)
 楼主| 发表于 2003-11-30 00:26:25 | 显示全部楼层
error info:
unknow mime-type for "-n" --using "application/*"
是不是printf没有-n这个参数?
发表于 2003-11-30 00:39:58 | 显示全部楼层
bash可以用echo ,把\r环城\b
 楼主| 发表于 2003-11-30 01:06:06 | 显示全部楼层
1.好像是$(date|cut -f4 -d' ')的问题
date|cut -f4 -d' '是什么意思?
2.-n参数是什么作用?
谢谢
发表于 2003-11-30 01:12:33 | 显示全部楼层
最初由 zhouxuan37 发表
1.好像是$(date|cut -f4 -d' ')的问题
date|cut -f4 -d' '是什么意思?
2.-n参数是什么作用?
谢谢

1,date是显示当前日期,|是管道符,date的输出通过这个(|)管道符送给cut处理~,-f4,就是取第四域,-d' '说明分隔符是空格!
我想你亲自运行一下也许~~~;)
$(date|cut -f4 -d' ')两边的$和括号表示把里面的结果替换出来
2,-n说明在当前行显示,默认的echo是换行的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表