如果你的 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 脚本中控制发送操作的速度,从而避免填充太快的问题。

如何解决 Ubuntu 中 Expect 脚本发送速度过快的问题

原文地址: https://www.cveoy.top/t/topic/oZCK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录