免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: GM
打印 上一主题 下一主题

红袖添香:续问.......!!!!! [复制链接]

论坛徽章:
0
111 [报告]
发表于 2003-03-20 20:58 |只看该作者

红袖添香:续问.......!!!!!

原帖由 "蓝色键盘" 发表:
这个贴子跟了8-page,好,同时对“红袖添香”同志的耐心表示严重赞赏!
这才叫做论坛,偶强力支持!!!!!!
对了,把这个放在精华区,作为讨论问题的范例,不只master同意否?



呵呵,谢谢键盘夸奖    

其实也是因为 GM 很执着……

论坛徽章:
0
112 [报告]
发表于 2003-03-20 21:02 |只看该作者

红袖添香:续问.......!!!!!

原帖由 "蓝色键盘" 发表:
这个贴子跟了8-page,好,同时对“红袖添香”同志的耐心表示严重赞赏!
这才叫做论坛,偶强力支持!!!!!!
对了,把这个放在精华区,作为讨论问题的范例,不只master同意否?

我早就有这个想法了,但我想请问键盘兄,你在注意我们讨论的问题吗,不要一走了之了啊,也回答一下有关的问题呀,比如现在的!!!!

论坛徽章:
0
113 [报告]
发表于 2003-03-20 21:04 |只看该作者

红袖添香:续问.......!!!!!

原帖由 "GM" 发表:
红袖兄:
我把printf "$1 "这句给暂封进行试了一下,也不行???
原因好象也不是这个啊!!!


printf "" 只是第一个遭遇到的 EOF,下面可能会碰到其它,或者有其它原因。

比如 yesno() 中 -c 所带的参数是这样设计的: 用逗号区分每个参数,然后逐条执行。在变量展开过程中可能会遇到意想不到的混乱。

论坛徽章:
0
114 [报告]
发表于 2003-03-20 21:13 |只看该作者

红袖添香:续问.......!!!!!

红袖兄:
我想这个问题也只好到这儿了,至于是何种混乱引起的,或者是什么原因遇到的,以后等到你进过研究后,知道了只要不要忘了告诉我,我还是对这个问题不死心!!!,现在回想起这几天为了这个问题,你是挖空脑子为我解题,真是不好意思,再次谢谢!!!!

论坛徽章:
0
115 [报告]
发表于 2003-03-20 21:24 |只看该作者

红袖添香:续问.......!!!!!

原帖由 "GM" 发表:
红袖兄:
我想这个问题也只好到这儿了,至于是何种混乱引起的,或者是什么原因遇到的,以后等到你进过研究后,知道了只要不要忘了告诉我,我还是对这个问题不死心!!!,现在回想起这几天为了这个问题,你是挖空脑子为我解题,真是不好意思,再次谢谢!!!!
...

> 我想这个问题也只好到这儿了,至于是何种混乱引起的,或者是什么原因遇到的,以后等到
> 你进过研究后,知道了只要不要忘了告诉我,我还是对这个问题不死心!!!,

好的,先就搁置一下,等我有时间再看看。

> 现在回想起这几天为了 这个问题,你是挖空脑子为我解题,真是不好意思,再次谢谢!!!!

呵呵,不要客气,我们是讨论问题其实对问者和答者都有益。 :)

论坛徽章:
0
116 [报告]
发表于 2003-03-20 21:33 |只看该作者

红袖添香:续问.......!!!!!

红袖好!!!
你对人总是那么誠恳,光这一点,就值得我们学习啊.......
谢谢你对这个问题重视,也是对朋友的重视啊!!!!
我时刻地关注着..........

论坛徽章:
0
117 [报告]
发表于 2003-03-22 00:07 |只看该作者

红袖添香:续问.......!!!!!

红袖你真是大好人哪, 向你学习, 向你致敬!!!

------------------------------------------------------------------------------

ping 网点有一个比较笨的办法,在网点多的时候可能会有用:
1.根据IP地址表文本生成另一个临时脚本, 用于PING单个网点并返回状态,
   临时脚本返回" xxx.xxx.xxx.xxx网点N 通/断!" >>tmp.out;
2.在后台运行该脚本 tmp.sh &
   这样就不用等待上一个地址ping完就可以处理下一个地址了;
3.地址表处理完后, 结果也返回得差不多了, 下面只需查看tmp.out就行了:
   tail ,more 都可以;
5.要精致一点,还可以加上返回行数检测, 看后台的ping是否执行完毕.

现在手上没有unix, 没法完成代码. 请GM兄原谅...

论坛徽章:
0
118 [报告]
发表于 2003-03-26 14:04 |只看该作者

红袖添香:续问.......!!!!!

原帖由 "文戈居士" 发表:

ping 网点有一个比较笨的办法,在网点多的时候可能会有用:
1.根据IP地址表文本..........
2.在后台运行该脚本 tmp.sh &
3.地址表处理完后, 结果也返回得差不多了, 下面只需查看tmp.out就行了:
tail ,more 都可以;

文戈居士你好,我认为你没有仔细地看我和红袖在前面的讨论,其实对这个问题红袖他已作出了很好回答,他的方法很实用,至于你的用后台处理没多大实用性,应为:1,一般网点不会太多。2,还有判断返回是否断线已经解决快速处理的方法了。3,这个程序不是经常用的,但要用时又要比较灵活性。4,因为这种方式一般在主控台或Netterm式终端,要是你说的不够快,还不如在另一屏上处理,在后台处理也没多大的必要性。
文戈居士你认为我说的有理吗,我是不是没有理解你的意思,请你指教啊,但要谢谢你能发表不同的思想!!!!

论坛徽章:
0
119 [报告]
发表于 2003-04-03 14:55 |只看该作者

红袖添香:续问.......!!!!!

红袖好:

  1. #!/bin/sh

  2. abort() {
  3.     printf  "\033[m\n"
  4.     exit
  5. }

  6. # do nothing, just simulate time consume.
  7. idle() {
  8.     i=1
  9.     sum=`date +%S`
  10.     sum=`expr $sum \* $sum | cut -b 1`
  11.     sum=`expr $sum \* 10`
  12.     while [ $i -le $sum ]; do
  13.         i=`expr $i + 2 `
  14.         trap abort  2
  15.     done
  16. }

  17. proc() {
  18.     begin=$1
  19.     end=$2
  20.     row=$3
  21.     pos1=`expr $begin + 1`
  22.     pos2=`expr $end - 1`
  23.     mid=`echo "($begin+$end)/2-2" |bc`
  24.     printf "\033[2J"
  25.     printf "\033[${row};${begin}H["
  26.     printf "\033[${row};${end}H]"
  27.     while [ $pos1 -le $pos2  ]; do
  28.         pro=`echo "scale=0; ($pos1 - $begin)*100/($pos2-$begin)" | bc`
  29.         if [ $pos1 -gt $mid ]; then
  30.             printf "\033[7m\033[${row};${mid}H$pro%%\033[${row};${pos1}H:"
  31.         else
  32.             printf "\033[m\033[${row};${mid}H$pro%%\033[7m\033[${row};${pos1}H:"

  33.         fi
  34.         pos1=`expr $pos1 + 1`
  35.         idle
  36.         trap abort  2
  37.     done
  38.     printf "\033[m\n"
  39.     echo "done"
  40. }

复制代码

你写的进度条很妙啊,精华啊!!!
但我有一点不明白,如何把这个程序更好地应用到实际中去呢?
如用磁带备份数据,要用怎样的方式利用它?谢谢啦!!!!

论坛徽章:
0
120 [报告]
发表于 2003-04-05 05:49 |只看该作者

红袖添香:续问.......!!!!!

...

谢谢夸奖,

实际上要用它的话,必须能够对进程切片,比如在上面的过程里的 idle() 就被执行了 80 次结束。你能不能做到把你的备份过程分成80个分过程呢?比如过一段时间检查一下某个运行结果等等,不过我对你所说的备份不是很清楚,,,所以也很难有建设性的意见了,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP