安装软件
yum install expect
脚本语言
"注意:空格的问题"
#!/usr/bin/expect
set timeout 30(-1:永不过期)
spawn ssh 用户名@IP "执行的操作"
expect "第一种情况" {
操作:send "需要发送的信息\r"
expect "子情况"
子操作:send "需要发送的信息\r"
} "第二种情况" {
操作:send "需要发送的信息\r"
}
interact ---执行完成后把控制台交个当前bash
$argv --获取变量
嵌套:
#!/bin/bash
expect << EOF(end of file)
...(expect脚本语言)
expect eof
EOF
一个实例
#!/bin/bash
for IP in 100 1 2 3
do
IPADDR=192.168.0.$IP
expect << EOF
spawn ssh root@$IPADDR "sed -i '1i nameserver 8.8.8.8' /etc/resolv.conf"
expect "(yes/no)?" {
send "yes\r"
expect "passwd:"
send "password\r"
} expect "passwd:" { send "password\r" }
expect eof
EOF --结束expect解释器,必须和do缩进一样
done