Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1065965
  • 博文数量: 186
  • 博客积分: 4939
  • 博客等级: 上校
  • 技术积分: 2075
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-08 17:15
文章分类

全部博文(186)

文章存档

2018年(1)

2017年(3)

2016年(11)

2015年(42)

2014年(21)

2013年(9)

2012年(18)

2011年(46)

2010年(35)

分类: Python/Ruby

2011-04-25 13:33:44

  1. cat >ssh.exp <<\! #没有!之前的\,那么set的变量不被here doc产生的ssh.exp生效。原因未知
  2.     #!/usr/bin/expect
        set timeout 60
        set pwd "123456"
        spawn ssh  172.18.0.1
  3.            expect {
  4.                     "not know" {send_user "[exec echo \"not know\"]";exit}
  5.                     "(yes/no)?" {send "yes\r";exp_continue}
  6.                     "password:" {send  "$pwd\r"}
  7.                     "Permission denied, please try again." {
  8.                         send_user "[exec echo \"Error:Password is wrong\"]"
  9.                         exit  }

  10. expect eof
                        }

  11. expect "*#"
    send "/etc/init.d/keepalived stop\r"
  12. send "sh ./chg_keepalived.sh &\r"
    send "\r"
    send "exit\r"
    expect eof
  13. !

ip,command,password可以在一个文件里,直接写:

然后while read x;do expect ssh.exp $i;done

假如要记录日志,直接在set下添加

log_file $ip.log

========= 注意expect eof ====================

阅读(3742) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~