Chinaunix

标题: 怎么保存操作交互信息? [打印本页]

作者: 陶深    时间: 2004-12-22 10:52
标题: 怎么保存操作交互信息?
例如 在终端操作平台下

==============================

[root] # cmp  exp_file

Pass 1 : Change happened, resumed<y>? yes
Pass 2 : Change happened, clear<y>? yes
...

[root] #

===============================
我就想把Pass1 和Pass 2的内容保存到一个文件中
我试了
[root]#  y|cmp exp_file      2> store-file

store-file中没有Pass1内容。
怎么保存呢?
作者: guangzongy    时间: 2004-12-22 11:26
标题: 怎么保存操作交互信息?
试试这样可以吗?
cmp exp_file 1> store-file 2>&1
作者: shaoping0330    时间: 2004-12-22 11:30
标题: 怎么保存操作交互信息?
使用tee看看
作者: 寂寞烈火    时间: 2004-12-22 11:37
标题: 怎么保存操作交互信息?
用script试试看
作者: 陶深    时间: 2004-12-22 11:54
标题: 怎么保存操作交互信息?
我发现问题不是 文本输不出来 。而是 Pass 1 和 Pass 2 需要按“Yes”回车

因为如果exp_file 是正常时,也就是 不需要按“y”的话,“ # cmp ex_file 〉tmp_file” 都是可以的.

这个cmp 不支持 # y | cmp  exp_file 这种形式的自动按yes, 还有其他的
自动方式么?
作者: bitbull    时间: 2004-12-22 12:07
标题: 怎么保存操作交互信息?
未测试

#!/bin/expect
spawn exp_file
expect "ass 1 : Change happened, resumed<y>?"
send "yes"



好久没用expect,不知道有没有语法错误,提供个思路,自己调试一下
作者: 陶深    时间: 2004-12-22 16:00
标题: 怎么保存操作交互信息?
原帖由 "bitbull" 发表:
未测试

#!/bin/expect
spawn exp_file
expect "ass 1 : Change happened, resumed<y>?"
send "yes"



好久没用expect,不知道有没有语法错误,提供个思路,自己调试一下


感谢楼上给的思路。
以前不知道有个expect,刚刚学用expect完成了这个要求。
帖个过程,给大家,希望能有用。
===========================================

装expect之前,先要装tcl, 可以到www.rpmfind.net中找到这两个包
两个rpm包装好后,就可以写expect code了。
注意,expect的路径可能不同,要用find找到本机的路径
例如我的是
#!/usr/bin/expect

然后就是循环的找

spawn  cmp  file

for {} {1} {} {

           expect " Pass * "     { send  " y"}
           expect eof                { exit 0 }
  

}




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2