sh脚本
#!/usr/bin/expect
set FILE [lindex $argv 0]
set TO [lindex $argv 1]
set PASSWD [lindex $argv 2]
spawn scp $FILE $TO
expect {
"yes/no" {
send "yes\n"
expect "password:"
send "$PASSWD\n"
}
"password:" { send "$PASSWD\n" }
}
expect eof
#interact
</pre>C++使用</p><p><pre name="code" class="cpp">
char Scmd[256];
sprintf(Scmd, "/mydir/scp.sh %s@%s:%s %s \"%s\"", userName, host, sourceFile, destPath, passwd);
int ret=system(Scmd);
控制台可执行:
./scp.sh root@192.168.0.120:/etc/test1.log /etc/mydir/ "123456"