Linux无网络yum源情况下离线安装expect命令实现脚本自动交互【测试成功】

艺帆风顺 发布于 2025-04-03 22 次阅读


expect是什么?

Linux中的expect是一个自动化交互式工具。它基于Tcl(Tool Command Language)语言开发,主要用于处理需要用户输入进行交互的程序。

    具体来说,expect能够根据程序输出的模式自动发送相应的输入,从而实现交互过程的自动化。这使得在执行一些通常需要人工介入才能完成的命令或程序时,可以通过预先编写好的脚本来自动完成这些任务,从而节省时间和提高效率。

以下是expect的一些常见使用场景:

  • 自动化远程服务器登录:通过SSH登录远程服务器并自动输入密码,执行命令,然后退出登录。这对于需要定期执行的任务或自动化管理多台服务器非常有用。

  • 安装和配置软件:在安装过程中,有些软件可能需要用户交互式地输入信息。使用expect,可以自动完成这些步骤,简化软件安装和配置的过程。

1、tcl命令安装

    下载tcl安装包:https://sourceforge.net/projects/tcl/files/Tcl/8.6.12/tcl8.6.12-src.tar.gz/download
    tar -zxf tcl8.6.12-src.tar.gzcd tcl8.6.12/unix/./configure --prefix=/usr/tcl --enable-sharedmakemake install# 目录tcl8.6.12/unix/下的tclUnixPort.h复制到generic中cp tclUnixPort.h ../generic/# 授权允许普通用户使用chmod 755 /usr/tcl/lib/expect5.45.4chmod -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.gzcd 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头文件位置makemake installln -s /usr/tcl/bin/expect /usr/expect/bin/expect
      chmod -R 755 /usr/expectchmod 755 /usr/expect/bin

      将命令写入环境变量

        vi /etc/profileexport 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如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。