我有一个带有 spawn、expect 和 send 的基本 scp 发送机制。
然而它在 scp 传输期间中止了。
这是期望命令:
expect -c "spawn sh -c {scp -r -P 22 /tmp/rootfs/* root@IP:/.}
expect {
password: {send \"pw12\r\"; exp_continue }
}
exit"
这在 scp 传输期间被中断。
但是如果我尝试这样做:
scp -r -P 22 /tmp/rootfs/* root@IP:/.
它会要求输入密码,然后我输入密码,然后所有文件都会上传。
我还无法深入挖掘,问题可能是什么?
答案1
正如@Kamil 所评论的,考虑一下timeout
——传输这些文件需要多长时间?
此外,期望看到衍生进程的结束:
expect {
password: {send \"pw12\r\"; exp_continue }
eof
}