码迷,mamicode.com
首页 > 其他好文 > 详细

expect

时间:2015-03-28 19:00:58      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:expect

#####################################################

本文内容来自《老男孩linux运维实战培训》学生—何旭东

如有转载,请务必保留本文链接及本内容版权信息。 

欢迎广大运维同仁一起交流linux/unix网站运维技术!

QQ:345078833

E-mail:345078833@qq.com 

#####################################################

老男孩linux运维实战培训中心

培训咨询:QQ:80042789 70271111

培训电话:18600338340 18911718229

老男孩老师 QQ:49000448 31333741

网站地址:http://www.etiantian.org

老男孩博客:http://oldboy.blog.51cto.com

老男孩交流群  246054962208160987 226199307  44246017

网站运维交流群:114580181 45039636 37081784
#####################################################

安装

 

[oldman@A ~]$ cat fenfa_sshkey.exp 
#!/usr/bin/expect
if { $argc != 2 } {   
 send_user "usage: expect fenfa_sshkey.exp file host\n"   
 exit   


#define var
set file [lindex $argv 0]
set host [lindex $argv 1]
set password "123456"
spawn ssh-copy-id -i  $file "-p 22022 hexudong@$host"
expect {
        "yes/no"    {send "yes\r";exp_continue}
        "*password" {send "$password\r"}
}
expect eof

exit -onexit {
  send_user "Oldboy say good bye to you!\n"
}

小结:

Expect需要用expect 命令执行,或者.执行。Sh不能执行。

$argv 0 是第一个参数   $argv 1 是第二个参数

 

[oldboy@abc ~]$ cat fenfa_sshkey.sh

#!/bin/sh

. /etc/init.d/functions

for ip in `cat iplist`

do

 expect fenfa_sshkey.exp ~/.ssh/id_dsa.pub $ip

 if [ $? -eq 0 ];then

    action "$ip" /bin/true

 else

    action "$ip" /bin/false

 fi

done

[oldboy@abc ~]$ cat iplist

192.168.74.128

192.168.74.130

 

小结:

执行fenfa_sshkey.sh看目标authorized_keys  是否已经有key文件。

 

 

 

本文出自 “晴空” 博客,谢绝转载!

expect

标签:expect

原文地址:http://7179867.blog.51cto.com/7169867/1625878

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!