{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

Linux系统如何通过expect实现自动交互式任务?

chengjianhuachengjianhua 回答0 收藏1
收藏问题

2条回答

baishancloud

baishancloud

回答于2022-06-28 11:44

这个非常简单,expect是Linux的一个自动化交互工具,可以让shell命令无需人为干预自动进行交互式通讯,其核心是根据设定好的匹配规则,执行相应匹配动作,以完成人机自动化交互,下面我简单介绍一下expect这个工具的安装和使用:

1.首先,安装expect,这个直接在终端输入安装命令“yum install -y expect”就行,如下,很快就能安装成功:

安装完成后,我们可以输入命令“whereis expect”查看一下expect安装位置,如下,可以看得出来,这个工具会自动安装到usr/bin目录下:

2.安装完成后,我们就可以直接编写脚本来实现自动化交互过程了,测试脚本如下,和常见的shell脚本非常相似,这里实现了自动登录Linux主机并执行shell命令的功能,基本原理是根据正则表达式匹配到需要人为输入的行,然后输入提前设置好的数据,实现人机自动交互:

运行这个脚本,效果如下,会自动登录Linux主机,执行shell命令,并退出:

3.更多参数说明的话,可以借助“man expect”命令进行查看,官方解释的非常详细,对于开发者使用来说非常有帮助:

至此,我们就完成了Linux expect交互工具的安装和简单使用。总的来说,整个过程非常简单,只要你有一定的Linux基础,熟悉一下上面的安装使用过程,很快就能掌握的,对于一些重复、工作量大的交互式任务,expect命令可以明显降低工作量,对于运维管理来说,非常有帮助,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

评论0 赞同0
  •  加载中...
Allen

Allen

回答于2022-06-28 11:44

expect时用与提供自动交互的工具。比如如果想要用ssh登陆服务器,每次都输入密码你觉得麻烦,那你就可以使用expect来做自动交互,这样的话就不用每次都输入密码了。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<