scp 传输期间 spawn、expect、send 中止

scp 传输期间 spawn、expect、send 中止

我有一个带有 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
}

相关内容