如何解决 Ubuntu 中 Expect 脚本发送速度过快的问题
如果你的 Expect 脚本中的 send 操作填充太快,可能会导致程序崩溃或出现其他问题。一种解决方法是在 send 操作之间添加一些延迟时间。
可以使用 Linux 中的 sleep 命令来添加延迟。例如,以下代码会在 send 操作之间添加 2 秒的延迟时间:
send 'command1\r'
sleep 2
send 'command2\r'
另一种方法是使用 exp_continue 命令来保持 Expect 的状态,并等待更多的输入。这将允许您在发送操作之间等待一段时间,而无需使用 sleep 命令。例如:
expect {
'Enter username:' {
send 'myusername\r'
exp_continue
}
'Enter password:' {
send 'mypassword\r'
}
}
这个 Expect 脚本将等待 'Enter username:' 出现,然后发送用户名。然后,它将使用 exp_continue 命令保持 Expect 的状态,并等待 'Enter password:' 出现。在这之后,它将发送密码。
使用这两种技术之一可以帮助您在 Expect 脚本中控制发送操作的速度,从而避免填充太快的问题。
原文地址: https://www.cveoy.top/t/topic/oZCK 著作权归作者所有。请勿转载和采集!