|
我在windows下想实现同其他linux之间的scp功能,安装了ssh secure shell。
直接执行 scp2 ./c.txt root@192.168.0.200:/tmp/c.txt 能提示输入密码并scp成功
但是在windows的tcl/tk环境中执行以下代码,没有回显匹配信息,在linux下正常。
如果是tclsh中exec scp2也能执行但是无法自动交互输入密码。所以必须采用expect
希望大家给予帮助
或者有没有其他方法实现windows下的命令scp功能
exp_internal 1
spawn scp2 ./c.txt root@192.168.0.200:/tmp/c.txt
expect {
-timeout 10
"*yes/no)?" {
send "yes\r"
exp_continue
}
"*assword*" {
send "root\r"
}
-re . {
exp_continue
}
default {exp_exit}
}
############################
以下是调试信息
D:\>tclsh 2.tcl
expect: does "" (spawn_id exp4) match glob pattern "yes/no"? no
"*assword*"? no
expect: timed out
########## |
|