expect工具实现脚本的自动交互

Posted kylingx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了expect工具实现脚本的自动交互相关的知识,希望对你有一定的参考价值。

1 安装expect工具

expect是建立在tcl基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信. 其交互流程是:
spawn启动指定进程 -> expect获取指定关键字 -> send想指定进程发送指定指令 -> 执行完成, 退出.
由于expect是基于tcl的, 所以需要确保系统中安装了tcl:
检查是否安装了tcl:
whereis tcl
tcl: /usr/lib64/tcl8.5 /usr/include/tcl.h /usr/share/tcl8.5
如果没有安装, 使用yum安装tcl和expect:
yum install -y tcl
yum install -y expect
查看expect的安装路径:
command -v expect
/usr/bin/expect

2 expect的常用命令

3 作用原理简介

3.1 示例脚本

这里以ssh远程登录某台服务器的脚本为例进行说明, 假设此脚本名称为remote_login.sh
技术图片

4 其他脚本使用示例

4.1 直接通过expect执行多条命令

技术图片

4.2 通过shell调用expect执行多条命令

技术图片

以上是关于expect工具实现脚本的自动交互的主要内容,如果未能解决你的问题,请参考以下文章

expect 实现自动交互脚本

expect 自动化交互软件

自动化运维脚本语言之expect实践学习

shell进阶——expect免交互工具的使用

使用expect实现自动交互,shell命令行自动输入

shell脚本常用命令:expect