1)expect example01 for oracle
1@@@@compare the usage of EOF and expect
@@@
[root@station78 expect]# cat scpbash.sh
#!/bin/sh
scp -rp testscp station243:/root/Desktop <<EOF
oracle
EOF
[root@station78 expect]# ./scpbash.sh
root@station243's password:      #@@@here still want you input password
testscp                                       100%    0     0.0KB/s   00:00


@@@
@@@here expect implement it without interact password.
[root@station78 expect]# cat scpexpect.sh
#!/usr/bin/expect
eval spawn [lrange $argv 0 end]
expect "password:"
#send [lindex $argv 0]
send "oracle\r"
interact
exit
[root@station78 expect]# ./scpexpect.sh scp testscp station243:/root/Desktop
spawn scp testscp station243:/root/Desktop
root@station243's password:
testscp                                       100%    0     0.0KB/s   00:00

 

sshpass

expect在crontab中经常出问题

使用sshpass -p 'password' scp xx root@ip:/root

http://sourceforge.net/projects/sshpass/