expect匹配不上,执行一段时间自动输出匹配的内容问题

在最前面一行设置超时时间 set timeout -1
由于timeout默认为10s,10s后会匹配打印台输出内容,若无匹配的内容则自动输出匹配的内容。

#!/usr/bin/expect
spawn ./install.sh
set timeout -1
expect "password:"
send "123\r"

其中 install.sh为目标脚本,若不设置timeout 为-1则在等待password这个关键字的时候,超过了10秒,于是我们的脚本就提前把password送入输入流了,结果导致expect脚本执行失败。


需要注意的是spawn后 send 最后都追加一个回车符\r。因为这是程序之间的交互,用的是回车。但是没有spawn的情况下,send后面追加的是\n。这是方便输出到终端的操作。


expect简单用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值