LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: zhouxuan37

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

[复制链接]
 楼主| 发表于 2003-11-30 01:20:49 | 显示全部楼层
最初由 javalee 发表

  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=======================
复制代码

试试这个脚本吧~~


我用的是bash
想不出上面的代码那里和ksh不同,错误就是我上面说的那个
date|cut -f4 -d' '我明白,$()这种格式bash是不是不支持?
我这里没有ksh ,没法弄
还有我单独运行perl -e 'print join(" ",0..99)'出错,说是语法错误,大致是说print join(" ",0..99)出错,我试着运行这条语句,出错,也是那个mime错。

print -n "$(date|cut -f4 -d' ')\r";t
后面的:t是什么意思?调用t?怎么用:隔开呢?
 楼主| 发表于 2003-11-30 01:22:24 | 显示全部楼层
omg
print->printf,all is ok!!
Thanks for your help!
Just my funny inattention...
发表于 2003-11-30 11:26:44 | 显示全部楼层
sh 是不支持 $()的,但是bash支持。
开头写上
#!/bin/bash
就行了。
 楼主| 发表于 2003-11-30 14:36:38 | 显示全部楼层
Thanks all
发表于 2004-4-2 20:09:40 | 显示全部楼层
最初由 zhouxuan37 发表
我用的是bash
想不出上面的代码那里和ksh不同,错误就是我上面说的那个
date|cut -f4 -d' '我明白,$()这种格式bash是不是不支持?
我这里没有ksh ,没法弄
还有我单独运行perl -e 'print join(" ",0..99)'出错,说是语法错误,大致是说print join(" ",0..99)出错,我试着运行这条语句,出错,也是那个mime错。

print -n "$(date|cut -f4 -d' ')\r";t
后面的:t是什么意思?调用t?怎么用:隔开呢?

: , t
这两个就是bash的空语句。
发表于 2004-4-2 20:28:14 | 显示全部楼层
最初由 home_king 发表
: , t
这两个就是bash的空语句。

print -n "$(date|cut -f4 -d' ')\r";t
红色的不是:冒号,是分号,t是调用开头的函数
发表于 2004-4-2 20:43:15 | 显示全部楼层
最初由 javalee 发表
print -n "$(date|cut -f4 -d' ')\r";t
红色的不是:冒号,是分号,t是调用开头的函数

哦?呵呵,好像混淆了perl与shell的概念。那这个t就是调用开头函数吗?这么奇怪的概念,在下第一次听到。
发表于 2004-4-3 00:07:10 | 显示全部楼层
最初由 home_king 发表
哦?呵呵,好像混淆了perl与shell的概念。那这个t就是调用开头函数吗?这么奇怪的概念,在下第一次听到。
奇怪么?,我开头定义的t函数,在这里调用,没什么错吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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