免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1980 | 回复: 0
打印 上一主题 下一主题

Net::SSH::Expect登陆设备获取的配置信息中特殊字符的处理问题(eg.---More---) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-15 09:32 |只看该作者 |倒序浏览
我用Net::SSH::Expect通过ssh登到一台主机后再telnet到一台路由设备上,通过执行指令获取设备配置信息,在读取配置信息字符串的时候,存在分页百分比的情况,如:--More--,---More(10%)---, ---- More ----                                          ,将这些字符串写进文件了,通过SecureCRT查看文件时不会出现这些字符,但是把这些文件拿到Windows后会显示出来,如何在获取配置信息的时候去掉这些字符?特别是---- More ----                                          这种情况,42D什么的,不知道啥意思,请问有没有碰到过类似情况的,该如何处理?以下是我获取配置信息的主要代码:
  1. $ssh->send("show conf");
  2. my $confStr;
  3. my $tempStr;
  4. my $tempStr2;
  5. my $line;

  6. while(defined($line = $ssh->read_line())) {
  7.         $confStr = $confStr."\n".$line;
  8.         if($line=~/--More--/) {
  9.             $ssh->send(' ');
  10.             last;
  11.         }
  12. }

  13. while($ssh->waitfor('--More--', 1)) {
  14.     print("1");
  15.     while(defined($line = $ssh->read_line())) {
  16.         $confStr = $confStr."\n".$line;
  17.         if($line=~/--More--/) {
  18.             last;
  19.         }
  20.         #print $line . "\n";
  21.     }
  22.     $ssh->send(' ');
  23. }
  24. while(defined($line = $ssh->read_line())) {
  25.         $confStr = $confStr."\n".$line;
  26. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP