expect是什么?
Linux中的expect是一个自动化交互式工具。它基于Tcl(Tool Command Language)语言开发,主要用于处理需要用户输入进行交互的程序。
具体来说,expect能够根据程序输出的模式自动发送相应的输入,从而实现交互过程的自动化。这使得在执行一些通常需要人工介入才能完成的命令或程序时,可以通过预先编写好的脚本来自动完成这些任务,从而节省时间和提高效率。
以下是expect的一些常见使用场景:
自动化远程服务器登录:通过SSH登录远程服务器并自动输入密码,执行命令,然后退出登录。这对于需要定期执行的任务或自动化管理多台服务器非常有用。
安装和配置软件:在安装过程中,有些软件可能需要用户交互式地输入信息。使用expect,可以自动完成这些步骤,简化软件安装和配置的过程。
1、tcl命令安装
tar -zxf tcl8.6.12-src.tar.gz
cd tcl8.6.12/unix/
make
make install
# 目录tcl8.6.12/unix/下的tclUnixPort.h复制到generic中
cp tclUnixPort.h ../generic/
# 授权允许普通用户使用
chmod 755 /usr/tcl/lib/expect5.45.4
chmod -R 755 /usr/tcl
2、安装expect
# 下载expect地址:https://jaist.dl.sourceforge.net/project/expect/Expect/5.45.4/expect5.45.4.tar.gz
tar -zxf expect5.45.4.tar.gz
cd expect5.45.4
./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.6.12/generic ##配置expect的安装路径,--with-tcl为告诉configure脚本tcl解释器位置,--with-tclinclude为告诉脚本tcl头文件位置
make
make install
ln -s /usr/tcl/bin/expect /usr/expect/bin/expect
chmod -R 755 /usr/expect
chmod 755 /usr/expect/bin
将命令写入环境变量
vi /etc/profile
export PATH=$PATH:/usr/expect/bin/
source /etc/profile
版权声明:本文内容来自CSDN:change-can,遵循CC 4.0 BY-SA版权协议上原文接及本声明。
本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
原文链接:https://blog.csdn.net/change_can/article/details/123474667
如有涉及到侵权,请联系,将立即予以删除处理。
在此特别鸣谢原作者的创作。
此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。