我有一个期望脚本调用scp将大文件从服务器a复制到服务器b。目前作为一种解决方法我只使用“设置超时-1”。 感谢
答案 0 :(得分:2)
如果传输时间过长(且不可预测),则关闭超时是合理的。但是,编写代码可能会更好,以便它检测scp
打印的进度更新,然后继续等待:
expect {
"ETA" {
puts "still transferring..."
exp_continue; # <<<<--- magical
}
"100%" {
puts "done"
}
}
像这样,如果一段时间内根本没有更新,则会超时,而任何更新都会导致打印消息(您可能应该自定义)并等待下一次更新(直到整体超时)