一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.
系统:centos 5.x
1.先安装expect
yum -y install expect
2.脚本内容:
cat auto_svn.sh
#!/bin/bash
passwd='123456'
/usr/bin/expect <<-EOF
set time 30
spawn ssh -p18330 root@192.168.10.22
expect {
"*yes/no" { send "yesr"; exp_continue }
"*password:" { send "$passwdr" }
}
expect "*#"
send "cd /home/trunkr"
expect "*#"
send "svn upr"
expect "*#"
send "exitr"
interact
expect eof
EOF
这样写的话,就方便得很多,一个脚本就包括完了.