/usr/bin/expect   linux sshpass

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/

本文出自 “Oracle+Linux=>Majesty” 博客,请务必保留此出处http://majesty.blog.51cto.com/3493901/1004766

你可能感兴趣的:(linux,expect,sshpass)