简介
expect是一款自动化的脚本解释型工具。
对一些需要交互输入的命令很有帮助,比如ssh,npm login。
远程登录linux服务器的时候,ssh命令需要手动输入密码,当登录多台机器的时候会非常繁琐,expect可以根据设定的规则,自动帮我们输入密码,大大节省时间。
用jenkins实现npm包自动发布时,可以用expect帮助我们实现npm login登录,免去在命令行登录的操作。
linux安装expect
expect是在tcl的基础上创建起来的,所以在安装expect前应该先安装tcl。
tcl安装
源码下载:
http://www.tcl.tk/software/tcltk/downloadnow84.tml
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.20-src.tar.gz
解压:
tar -zxvf tcl8.4.20-src.tar.gz
安装配置:
cd tcl8.4.20/unix/
./configure --prefix=/usr
/tcl --enable-shared
make
make install
cp tclUnixPort.h ../generic/
express安装
源码下载:
wget http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz/download
解压:
tar xzvf expect5.45.tar.gz
安装配置:
cd expect5.45
./configure --prefix=/usr
/expect --with-tcl=/usr
/tcl/lib --with-tclinclude=../tcl8.4.20/generic
make
make install
ln -s /usr/
tcl/bin/expect /usr
/expect/bin/expect
注意:/usr为当前安装用户路径
参考文档
https://www.cnblogs.com/wang517/p/9816774.html
https://www.cnblogs.com/iops/p/expect-tutorial-and-example.html