简单安装
yum install -y expect
另外可以下载ctl和expect编译安装
tar zxvf tcl8.6.8-src.tar.gz
cd tcl8.6.8/unix
./configure
make && make install
- expect
tar zxvf expect5.45.4.tar.gz
cd expect5.45.4/
./configure –with-tcl=/usr/local/lib/ –with-tclinclude=/root/tool/tcl8.6.8/generic/
make && make install
开始写自动化脚本
#!/usr/bin/bash
if [ $# != 2 ];then
echo "plase set password and command in here."
exit 1;
fi
for ip in `cat hosts`
do
echo "$ip----------------------------------"
/usr/local/bin/expect <<-EOF
set timeout 10
spawn ssh $ip -l root
expect {
"*yes/no" { send "yes\r";exp_continue }
"*assword:" { send "$1\r"; }
}
expect "*#"
send "$2\r"
expect "*#"
send "exit\r"
expect eof
EOF
done
脚本介绍,该脚本会读取外部一个叫hosts的文件,进行一个访问执行指定的请求,第一个参数传入为密码,第二个参数是需要执行命令