scp自动写密码脚本

#!/usr/bin/expect
set timeout 10
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set src_file [lindex $argv 3]
set dest_file [lindex $argv 4]
spawn scp $src_file $username@$host:$dest_file
 expect {
 "(yes/no)?"
  {
  send "yes\n"
  expect "*assword:" { send "$password\n"}
 }
 "*assword:"
{
 send "$password\n"
}
}
expect "100%"
expect eof

使用格式:

./scp.sh  [目标IP地址] [用户名] [密码] [文件名]  [目标位置]

./scp.sh  172.168.24.1 root awcloud demo.tar.gz  /root/