Linux 使用Expect处理大型文件传输的正确方法是什么?
我有一个expect脚本,它调用scp将一个大文件从服务器a复制到服务器b。目前,作为一种解决方法,我只使用“设置超时-1”。Linux 使用Expect处理大型文件传输的正确方法是什么?,linux,tcl,expect,Linux,Tcl,Expect,我有一个expect脚本,它调用scp将一个大文件从服务器a复制到服务器b。目前,作为一种解决方法,我只使用“设置超时-1”。 谢谢如果传输需要很长时间(而且无法预测),关闭超时是合理的。但是,最好编写代码,以便它检测到scp打印的进度更新,然后继续等待: expect { "ETA" { puts "still transferring..." exp_continue; # <<<<--- magical
谢谢如果传输需要很长时间(而且无法预测),关闭超时是合理的。但是,最好编写代码,以便它检测到
scp
打印的进度更新,然后继续等待:
expect {
"ETA" {
puts "still transferring..."
exp_continue; # <<<<--- magical
}
"100%" {
puts "done"
}
}
expect{
“预计到达时间”{
将“仍在传输…”
exp_continue;#描述您到底遇到了什么问题。显示脚本中存在问题的部分。如果您不知道需要多长时间,设置无限超时听起来是合理的。千万不要考虑将“exp_continue”魔术(重置超时计数器)与超时{}或默认{}结合使用为了避免无限循环。只要我得到15个声誉,你就给我投票。谢谢你的回复。