expect自动化交互

目录

[1. expect作用:](#1. expect作用:)

[2. expect语言用法:](#2. expect语言用法:)

[3. 实例](#3. 实例)


1. expect作用:

是建立在tcl语言基础上的一个工具,常被用于进行自动化控制和测试,解决shell脚本中交互的相关问题。

2. expect语言用法:

|------------------|-------------------------------|
| spawn | 开启免交户 开启expect |
| expect | 捕捉屏幕上的关键字 |
| exp_continue | 继续捕捉屏幕上的字 |
| send | 发送指令 |
| interact | 代表退出expect,但是会留在新的终端 |
| expect eof | 代表退出expect 默认10s后,返回旧的终端。 |

3. 实例

bash 复制代码
yum install expect -y     #先安装expect工具

vim /opt/test             #写脚本

#!/usr/bin/expect       语言注意不是bash,是expect
spawn    ssh  172.16.234.10     
#开启免交互,继续跟踪
expect {
#捕捉屏幕上的关键字
     "yes/no"   { send "yes\n"; exp_continue }
#捕捉到屏幕上的关键字yes/no,输入yes。\n是回车。exp_continue继续捕捉
     "password" { send "123\n"; exp_continue }
#继续捕捉到关键字passwdord,输入密码,继续捕捉
     "#"        { send "useradd lisi \n"}
#继续捕捉到屏幕上的关键字"#"号,创建用户lisi
}
expect eof
#退出expect

:wq

./ test   #运行脚本
相关推荐
困意少年14 小时前
Linux 命令行参数与环境变量:从 Shell 到 main() 的数据是怎么传进去的?
linux·运维
isyangli_blog14 小时前
基于 OpenDaylight 的 SDN 负载均衡应用
运维·负载均衡
Z-D-K14 小时前
S-44的周末”旅行“-周日
人工智能·ai·aigc·交互·agi
ICT系统集成阿祥14 小时前
校园网络准入认证建设与运维经验
运维·网络·智慧校园·经验总结
Z-D-K14 小时前
S-44的周末”旅行“-周六
人工智能·机器学习·aigc·交互·agi
颖火虫盟主14 小时前
Linux USB 探测→枚举→RNDIS 驱动匹配 全流程笔记
linux·运维·笔记
Full Stack Developme14 小时前
Linux cd /abc 与 cd /abc/ 区别
linux·运维·服务器
buhuizhiyuci15 小时前
【Linux篇】数字世界程序运行寻找地址的指南针——环境变量的详解
linux·运维·服务器
Shadow(⊙o⊙)15 小时前
信号1.0,信号概念、signal()处理、前后台进程、闹钟设置、初识信号三张表。
linux·运维·服务器·开发语言·c++
HackTwoHub15 小时前
免费FOFA高级会员、DayDaymap、360Quake、Hunter测绘搜索引擎高级会员免费使用最大1W条查询工具
运维·安全·web安全·搜索引擎·网络安全·系统安全·安全架构