shell与expect自动交互

1,250 阅读1分钟
#!/bin/bash
/usr/bin/expect <<EOF
set timeout -1 # -1表示永不超时
spawn ssh -p 22 root@xx.xxx.xx
expect {
    "*yes/no" {send "yes\r";exp_continue}
    "*password:" {send "密码\r"}
}
expect "]*" 
send "rm -rf /home/projects/build\r"
send "mkdir /home/projects/build\r"
expect "]*"
send "exit\r"
spawn scp -r 22 ./build/ root@xx.xx.xxx:/home/projects/
expect "password:"
send "密码\r"
expect eof
EOF