标签: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
#####################################################
安装
yum -y install expect<?xml:namespace prefix="o" ns="urn:schemas-microsoft-com:office:office">
?xml:namespace>
[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
原文地址:http://7179867.blog.51cto.com/7169867/1625878