expect/tcl 的问题, 自动保存结果失败

问题描述

expect/tcl 的问题, 自动保存结果失败
想写一个具有以下功能的tcl脚本,但是总是碰见问题
读取文件a中的命令,并将其send到远端的lab上
在碰到结束符$的时候,查询是否执行完成
执行完成之后,send查询语句,并将结果保存到文件。
碰见的问题:
只能保存最开始的查询结果,以后的会跳出
记录只能保存在文件的末尾...
code在后边附上,哪位大神给帮忙看看额

proc Is_finished {} {
set flag TRUE
while {$flag} {
send ""query finishr""
expect {
inquery"" {sleep 5; continue}
finish"" {set flag FALSE}
timeout { puts $log ""test fail"";set flag FALSE}
}
}
}
proc save_result {} {
set log [open Result w+]
log_file -open $log
send ""query statusr""
expect ""#""
send ""puts all logr""
expect ""#""
send ""r""
expect ""#""
log_file

close $log

}
set file [lindex $argv 0]
set fileid [open $file r+]
seek $fileid 0 start
set timeout 120
spawn ssh admin@192.168.0.115
expect ""password:""
send -- ""123456r""
expect "":admin>#""
while {1==1} {
set chars [gets $fileid line1]
if { $chars == 0 } {continue} else {
if { $chars < 0 } {break} else {
if { [string index $line1 0] == ""#"" } {
#puts $log ""==================$line1.result=====================""
} else {
if { [string index $line1 0] == ""$"" } {
Is_finished
save_result
} else {send ""$line1r""}
}
}
}
}
close $fileid

解决方案

在close $log之前先flush $log试试

时间: 2024-11-16 02:13:32

expect/tcl 的问题, 自动保存结果失败的相关文章

AJAX实例应用初体验:自动保存草稿

ajax 相信用过Gmail的人都知道Gmail有一个草稿自动保存的功能,每过一段时间,Gmail都会自动保存邮件草稿,这样在一些突发情况下就能快速地恢复工作,免得写了半天的邮件眨眼之间就没有了.在学了AJAX之后,笔者也给自己的blog加上了这个功能.当然,这个应用并不只限于blog上,应该说还是比较通用的. 注:为了开发的方便,笔者用了一个自己写的AJAX类,具体内容和下载在这里.[本地下载请点击这里(1.42KB)] 演示地址 仍旧以代码加注释的方式来说明怎么编写. 首先是表单填写页面,用

AJAX应用之草稿自动保存

ajax 相信用过Gmail的人都知道Gmail有一个草稿自动保存的功能,每过一段时间,Gmail都会自动保存邮件草稿,这样在一些突发情况下就能快速地恢复工作,免得写了半天的邮件眨眼之间就没有了.在学了AJAX之后,我也给自己的blog加上了这个功能.当然,这个应用并不只限于blog上,应该说还是比较通用的.PS.为了开发的方便,我用了一个自己写的AJAX类,具体内容和下载在这里.演示地址,我的blog仍旧以代码加注释来方式来说明怎么编写.首先是表单填写页面,用一个ID为AutoSaveMsg的

AJAX应用之草稿自动保存_AJAX相关

相信用过Gmail的人都知道Gmail有一个草稿自动保存的功能,每过一段时间,Gmail都会自动保存邮件草稿,这样在一些突发情况下就能快速地恢复工作,免得写了半天的邮件眨眼之间就没有了.在学了AJAX之后,我也给自己的blog加上了这个功能.当然,这个应用并不只限于blog上,应该说还是比较通用的. PS.为了开发的方便,我用了一个自己写的AJAX类,具体内容和下载在这里. 演示地址,我的blog 仍旧以代码加注释来方式来说明怎么编写. 首先是表单填写页面,用一个ID为AutoSaveMsg的D

php实现input输入框失去焦点自动保存输入框的数据

最近做一个输入框失去焦点时自动保存数据的功能,当然就是jQuery选择器选择input,blur时,ajax提交数据给php文件,php文件保存一下数据咯.主要是要注意一下中文的问题,所以中间需要转一下编码. 下面的实例是一个列表页,有一点类似excel了. html代码:  代码如下 复制代码 <table width="100%" align="left" border="0″ cellspacing="0″ bgcolor="

密码找回-获取ie自动保存用户名密码

问题描述 获取ie自动保存用户名密码 IPStore接口获取IE自动保存的用户名密码(最后一句怎么修改): //动态加载pstorec.dll,得到PStoreCreateInstance函数地址 typedef HRESULT (WINAPI tPStoreCreateInstance)(IPStore * DWORD DWORD DWORD);HMODULE hpsDLL; hpsDLL = LoadLibrary(""pstorec.dll""); tPSto

Ajax JSP实现的自动保存草稿

一.表单部分 (index.html) 首先是表单填写页面,用一个ID为AutoSaveMsg的DIV来显示返回信息,并且用一个ID为Draft_AutoSave的CheckBox来确定是否进行自动保存,然后将Textarea的ID命名为message.同时为了应对多用户同时使用的需要,加上用户名,每个用户的草稿分开保存.为了说明方便,这里把一些修饰性的东西去掉,这样看起来比较明了 <h2>AJAX应用之草稿自动保存</h2><br /> <!-- 用户名默认为N

图片自动保存到本地并利用aspjpeg为图片加水印

aspjpeg <%'函数功能:远程图片自动保存到本地服务器,并利用aspjpeg为图片加上水印'(注意:请先在目录下创建images目录,用来保存临时图片)'本程序需要在服务器上安装"aspjpeg组件"否则无法正常使用'也可以只取'''''22222222'''''''以上的部分,这部分可以保存图片,第二部分是进行水印增加'使用方法,请保存为saveimg.asp'saveimg.asp?url=logo.gif 即可以取下图片啦,HOHO. 其他需要加的功能,大家自己扩展好

远程图片自动保存到本地服务器

服务器 在动网看到有篇介绍保存远程图片的函数,感觉功能相当好,特经过我个人的修改,共享出来. <%'============================================'函数作用:远程图片自动保存到本地服务器'修改时间:2006-7-3 21:21'传人参数:' LocalFileName:本地文件名' RemoteFileUrl:远程文件URL'============================================sub SaveRemoteFile(Lo

把文章内容中涉及到的图片自动保存到本地服务器

服务器 <%'函数功能:把文章内容中涉及到的图片自动保存到本地服务器.(注意:请先在目录下创建tempfile目录,用来保存临时图片)'作者:小灰'QQ:103895'主页:http://asp2004.net'2004.9.13'转载或使用请不要删除上面这些信息.谢谢! const savepath="tempfile/" function myreplace(str)newstr=strset objregEx = new RegExpobjregEx.IgnoreCase