gpt4 book ai didi

Perl expect - 如何控制目标机器上的超时

转载 作者:行者123 更新时间:2023-12-02 04:15:23 24 4
gpt4 key购买 nike

我是 perl 的新手。我正在使用 perl expect 模块生成到远程系统。使用发送模块(如 $exp->send("my command as string goes here\n") 一个接一个地执行一组命令。问题是我执行的命令需要一些时间来处理。首先命令完成远程机器超时,我回到我的主机提示符。你能帮我解决这个问题吗?

我还有一个问题。我有一个命令在执行后返回 2 个值(假设我正在远程机器上打印 2 个值)。我想捕获这两个值并使用发送模块作为参数传递给下一个命令。我该怎么做。

请帮我解决这个问题。

谢谢。

我刚刚发现了一些关于 expect 模块的信息。有一个 undef 选项可以和 expect 一起使用,比如 $exp->expect(undef)。这将无限期地等待并让所有命令完成它们的处理。但问题是,它不会将控制权返回给主机。还有一个选项是将 expect 与 eof 一起使用,它会一直等到遇到 eof,然后返回到主机。虽然不知 Prop 体如何使用它。我发现的一个优雅的解决方案是使用 ssh 在远程机器上运行命令而不是使用 expect,在这种情况下我们不必处理超时。 :)

最佳答案

我刚刚发现了一些关于 expect 模块的信息。有一个 undef 选项可以和 expect 一起使用,比如 $exp->expect(undef)。这将无限期地等待并让所有命令完成它们的处理。但问题是,它不会将控制权返回给主机。还有一个选项是将 expect 与 eof 一起使用,它会一直等到遇到 eof,然后返回到主机。虽然不知 Prop 体如何使用它。我发现的一个优雅的解决方案是使用 ssh 在远程机器上运行命令而不是使用 expect,在这种情况下我们不必处理超时。 :)

关于Perl expect - 如何控制目标机器上的超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3135030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com