有一个漂亮的小工具叫做
zssh,它可以很容易地使用
实用程序
通过现有的 ssh 连接lszrz
使用
zmodem传输文件。它非常方便......但似乎我应该能够使用expect
. 我已经走到这一步了...
#!/usr/bin/expect -f
spawn ssh $argv
set ssh_spawn_id $spawn_id
send_user "ssh is: $ssh_spawn_id\n"
interact -o "\030B0000" {
send_user "\nStarting zmodem receive.\n"
spawn rz -v
set rz_spawn_id $spawn_id
send_user "rz is: $rz_spawn_id\n"
while {1} {
expect {
eof break
-i $rz_spawn_id -re .+ {
send -raw -i $ssh_spawn_id $expect_out(buffer)
}
-i $ssh_spawn_id -re .+ {
send -raw -i $rz_spawn_id $expect_out(buffer)
}
}
}
send_user "\nFinished zmodem receive.\n"
set spawn_id $ssh_spawn_id
}
rz
这在看到一个框架后启动ZRQINIT
,它显然连接
rz
到 ssh 会话,但它不起作用。 rz
说:
Retry 0: Bad CRCe.**B0100000023be50
Retry 0: Bad CRC**B0600000023d984
Retry 0: Bad CRC**B0600000023d984
……等等。
有没有办法使这项工作?谢谢!