当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于expect脚本交互的一些问题
帖子发表于 : 2010-02-03 17:30 

注册: 2008-11-03 10:06
帖子: 105
送出感谢: 1
接收感谢: 0 次
工作需要

用expect脚本 telnet 上了一个设备

现在问题是 我send一个命令后 设备会反馈到终端上显示出一些信息 其中包含IP 而且这个IP是不固定的

于是我想 在expect 脚本里将 这些反馈信息 预存到一个文本里 然后再用bash脚本正则出IP 然后赋值给一个变量

然后再在expect 脚本调用这个变量

怎么操作? 有其他解决方案没?
我现在就是不知道如何获取反馈信息 且将它们存到文本里

各位达达说下关键词


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 关于expect脚本交互的一些问题
帖子发表于 : 2010-02-03 17:49 
头像

注册: 2008-03-27 17:21
帖子: 206
送出感谢: 0 次
接收感谢: 0 次
grep


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 关于expect脚本交互的一些问题
帖子发表于 : 2010-02-04 8:55 

注册: 2008-11-03 10:06
帖子: 105
送出感谢: 1
接收感谢: 0 次
expect 里只能用spawn 调用

怎么个写法 能让expect 获取的终端数据 保存到文本里?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 关于expect脚本交互的一些问题
帖子发表于 : 2010-02-04 14:10 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
那你还不如,命令后面,直接 1>xxxx


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 关于expect脚本交互的一些问题
帖子发表于 : 2010-02-04 16:20 

注册: 2008-01-29 9:09
帖子: 32
送出感谢: 0 次
接收感谢: 0 次
log_file -a logfile
记录操作过程中的所有动作

你是要这样的麽?


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 关于expect脚本交互的一些问题
帖子发表于 : 2010-02-04 16:23 

注册: 2008-11-03 10:06
帖子: 105
送出感谢: 1
接收感谢: 0 次
ee的意思?
expect * >>XXXXX

??


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 关于expect脚本交互的一些问题
帖子发表于 : 2010-02-06 18:48 

注册: 2008-03-06 4:56
帖子: 82
送出感谢: 0 次
接收感谢: 0 次
expect本身就支持正则表达式,而且应该比bash方便多了

expect -indices -re {正则表达式}
然后用$expect_out(n,string)表示第n个括号里的字符串,整个字符串是0
有的时候可能要在正则表达式前面加上^以保证是从缓冲区开头开始匹配,最前面还要加上一条命令match_max 接一个大数以免缓冲区满

当然你要是非得把$expect_out(0,string)写进文件然后再读一遍我也没办法
tcl保存文件:
set 变量 [open 文件名 w]
puts -nonewline $变量 内容
close $变量
运行命令并读取结果:
set 变量 [open {|命令} r]
随便你怎么处理 [read $变量]
close $变量
运行命令并通过expect分析结果:
spawn -open [open {|命令} r]
需要备份一个什么变量或者封装在单独函数里,具体就看文档吧

用log_file记录理论上当然也不是不行,不过那样你还不如用纯bash脚本:
命令|tee 文件|{ grep xxx;你的处理;}
想要交互的话:
exec 3<> >(:)
命令 0<&3 |tee 文件|{ grep xxx;你的处理 >&3;}
不过<> >(:)是文档里没有的非常规用法,而且想要关闭文件也稍微有点麻烦(但是可行)。。你也可以mkfifo,这样比较正规


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 关于expect脚本交互的一些问题
帖子发表于 : 2010-02-08 12:05 

注册: 2008-11-03 10:06
帖子: 105
送出感谢: 1
接收感谢: 0 次
7楼解决我的问题了 !!

本来可以man 着慢慢看的 但E文有限 又急着用

谢谢7楼!

另外 装进文本是为方便调试 后来 发现 可以直接 send "echo XXX"

再次感谢cosechy!!


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 关于expect脚本交互的一些问题
帖子发表于 : 2010-02-10 10:22 

注册: 2008-03-06 4:56
帖子: 82
送出感谢: 0 次
接收感谢: 0 次
我只是路过的,看着地方严重不爽
于是随便说几句话。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译