一.安装tcl8.4.11、expect5.45
> 安装tcl8.4.11
1.下载源码包
mkdir -p /usr/local/src && cd /usr/local/src
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz
2.解压缩源码包
tar xfvz tcl8.4.11-src.tar.gz
3.安装配置
[root@xw4 src]# cd tcl8.4.11/unix
[root@xw4 unix]# ./configure
[root@xw4 unix]# make && make install
> 安装 expect
1.下载源码包
mkdir -p /usr/local/src && cd /usr/local/src
wget http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz
2.解压缩源码包
[root@xw4 src]# tar -zvxf expect-5.45.tar.gz
[root@xw4 src]# cd expect-5.45
[root@xw4 expect-5.45]# ./configure --with-tclinclude=/usr/local/src/tcl8.4.11/generic --with-tclconfig=/usr/local/lib/
[root@xw4 expect-5.45]# make && make install
二.示例脚本
[root@pnup-tool go]# cat goto172.21.16.8
#! /usr/local/bin/expect
set timeout 15
spawn ssh -p22 root@172.21.16.8
expect "*password:"
send "passw0rd\r"
interact
[root@xw4 tmp]# cat goto192.168.1.11
#!/bin/bash
passwd='PASSWORD'
/usr/local/bin/expect <<-EOF
set time 15
spawn ssh -p22 root@192.168.1.11
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$passwd\r" }
}
expect eof
EOF