首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tera Term语言:等待不等待超时结束

Tera Term语言:等待不等待超时结束
EN

Stack Overflow用户
提问于 2021-01-30 00:04:11
回答 1查看 215关注 0票数 0

我正在尝试写一个宏来加速测试的设置。

我要做的就是向我的主板发送一堆配置命令,并在每个命令之后等待一个“ok”。最后一个命令是启动测试的命令,在此之后,我想等待30秒以获得特定的答案。问题是,即使我设置了超时,所有命令都会一个接一个地发送,而不等待超时,测试一开始就会结束。我是不是遗漏了什么?

下面是我的代码:

代码语言:javascript
复制
send 'command 1'

timeout = 5             ;timeout set to 5 seconds
wait 'ok'

send 'command 2'

timeout = 5             ;timeout set to 5 seconds
wait 'ok'

send 'command 3'

timeout = 5             ;timeout set to 5 seconds
wait 'ok'

send 'command 4'

timeout = 5             ;timeout set to 5 seconds
wait 'ok'

send 'command 5'

timeout = 5             ;timeout set to 5 seconds
wait 'ok'

send 'command 6'

timeout = 5             ;timeout set to 5 seconds
wait 'ok'

send 'test start'

timeout = 30                ;timeout set to 30 seconds
wait 'the response I want'

if result = 1 goto pass
if result = 0 goto fail
EN

回答 1

Stack Overflow用户

发布于 2021-04-29 20:40:05

在寻找不同的问题时偶然发现了你的问题。

Timeout用于表示“如果在X时间内没有完成,则继续”,并且只需要设置一次。您还希望在发送命令之前对其进行设置。

在您的情况下,它将是

代码语言:javascript
复制
Timeout = 5
Send 'Command'
Wait 'OK'
Send 'Command'
Wait 'OK'
Timeout = 30
Send 'Command'
Wait 'OK'

您可能还想使用MPause在它们之间添加一个轻微的停顿,以防止它们像旧的调制解调器那样彼此跌跌撞撞。

代码语言:javascript
复制
Send 'Command'
Wait 'OK'
MPause 50
Send 'Command'
Wait 'OK'

根据您所做的工作,将发送和等待更改为SendLn和WaitLn可能也是值得的,它们将发送带有命令的新行,并等待带有新行的响应,这是很常见的。

不过,警告一下,TeraTerm有点乱七八糟的bit,而且有一点局限性。如果你能用真正的语言,我会这么做的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65957856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档