在本机A中执行expect脚本ru.sh,可以做到“从A ssh到B,在B机器上从A机器scp文件到B"
OAM/tools/Dispatch_EURU/ru.sh内容如下:
#!/usr/bin/expectset timeout 15set local_file [lindex $argv 0] set ip [lindex $argv 1] set remote_path [lindex $argv 2]set password "12345678" set scp_result "1"spawn ssh -o StrictHostKeyChecking=no $ipexpect {"password:" {send "$password\r"expect {"root@" {#send "scp sftpuser2@192.168.30.1:${local_file} ${remote_path}\r"send "scp -o StrictHostKeyChecking=no sftpuser2@192.168.30.1:${local_file} ${remote_path}\r"}}expect {"yes/no" { send "yes\r";exp_continue } "y/n" { send "y\r";exp_continue } "password:" { send "Sftpuser2.password\r"; exp_continue}"100%" {set scp_result "0"}}expect {"root@" {send "exit\r"}}}}expect eofexit "$scp_result"
./ru.sh /usr/local/xxxx/repository_run/5.1.3.255.xxxx.260131_beta/OAM/tools/Dispatch_EURU/ru_1.sh 192.168.30.207 /tmp/ ; echo $?

