免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7866 | 回复: 5

关于进度条的显示 [复制链接]

论坛徽章:
0
发表于 2005-07-10 12:52 |显示全部楼层
  1. 1、使用一系列圆点来指示进度
  2. --------后台循环------------
  3. #!/bin/bash
  4. while true
  5. do
  6.         echo -e ".\c"
  7.         sleep 3
  8. done &

  9. BG_PID=$!

  10. ./test.sh

  11. kill -9 $BG_PID

  12. -----------后台函数---------
  13. #!/bin/bash
  14. dots()
  15. {
  16.         while true
  17.         do        
  18.                 echo -e ".\c"
  19.                 sleep 3
  20.         done
  21. }

  22. #########################################
  23. ########## Begin of Main ################
  24. #########################################

  25. dots &

  26. BG_PID=$!

  27. ./test.sh

  28. kill -9 $BG_PID


  29. 2、使用一条旋转线来指示进度

  30. #!/bin/bash

  31. rotate()
  32. {
  33.         INTERVAL        = 1                   # Sleep time between "twirls"
  34.         TCOUNT          = "0"                 # For each TCOUNT the line twirls one increment

  35.         while :                               # Loop forever ...until this function is killed
  36.         do
  37.                 TCOUNT   = $(($TCOUNT + 1))    # Increment the TCOUNT

  38.                 case $TCOUNT in
  39.                         "1") echo -e '-' "\b\c"
  40.                              sleep $INTERVAL
  41.                              ;;
  42.                         "2") echo -e '\\' "\b\c"
  43.                              sleep $INTERVAL
  44.                              ;;
  45.                         "3") echo -e "|\b\c"
  46.                              sleep $INTERVAL
  47.                              ;;
  48.                         "4") echo -e "/\b\c"
  49.                              sleep $INTERVAL
  50.                              ;;
  51.                         *  ) TCOUNT="0" ;;      # Reset the TCOUNT to "0",zero
  52.                 esac
  53.         done
  54. } # End of Function rotate

  55. #########################################
  56. ########## Begin of Main ################
  57. #########################################


  58. rotate &

  59. ROTATE_PID=$!

  60. ./test.sh

  61. kill -9 $ROTATE_PID

  62. # cleanup...

  63. echo -e "\b\b "


  64. # End of Example



复制代码

论坛徽章:
0
发表于 2005-07-10 20:46 |显示全部楼层

关于进度条的显示

小弟不才,来凑个数

  1. #!/bin/sh
  2. #   Yuri.G
  3. #   Yuri.unix@gmail.com
  4. #   Yuri Family Data Center
  5. #   2005-07-10
  6. tr()
  7. {
  8. sl='sleep 0.5'
  9. while true
  10. do
  11. echo -e '-'"\b\c";$sl
  12. echo -e '\\'"\b\c";$sl
  13. echo -e "|\b\c";$sl
  14. echo -e "/\b\c";$sl
  15. done
  16. }
  17. tr &
  18. TR_PID=$!#让进度条显示操作后台运行,并获取它的进程ID
  19. sleep 10#把这个换成你要做的事情。
  20. kill -9 $TR_PID#kill掉进度条

复制代码

论坛徽章:
0
发表于 2005-07-11 15:05 |显示全部楼层

关于进度条的显示

楼上这样写不行"tr &;TR_PID=$!#"

&;不能在一起.

论坛徽章:
0
发表于 2005-07-11 16:43 |显示全部楼层

关于进度条的显示

明白了.马上改

论坛徽章:
0
发表于 2005-07-12 15:01 |显示全部楼层

关于进度条的显示

[root@Fedora4 demo]# sh ww.sh
..........ww.sh: line 13: 29632 已杀死               while true; do
    echo -e ".\c"; sleep 0.6;
done
[root@Fedora4 demo]#

他会提示已杀死怎么去掉啊?

论坛徽章:
0
发表于 2012-04-03 10:45 |显示全部楼层
非常使用,收藏了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP