问题标签 [expect.pm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 如何在衍生过程中摆脱无限循环
让我用一组具体的例子来问这个问题。第一个代码 nlines.pl 如下:
$ nlines.pl pp 0.2 生成提示符“pp>”,当输入“6”时,以 0.2 秒的时间间隔打印 6 次“Hello world”(仅当间隔为 +ve 数字时)。非数字输入使您脱离循环,而行数为负数会导致无限循环。工作正常!
现在,考虑第二个脚本 - “expnlines.pl”,作为上述脚本的驱动程序。
如果我们将其作为“expnlines.pl 4 0.2”运行,它可以正常工作。“expnlines.pl -1 0.3”(或其他任何超时)也可以。对于 linecount 的 -ve #,第一个脚本进入无限循环,但预期超时。但是,“expnlines.pl -1 0”无法停止无限循环(在那 2 秒之后),我无法弄清楚如何让期望中断这个循环。
有什么建议么?TIA。
顺便说一句,在我的现实世界中,我无法控制“nlines.pl”的等效二进制文件。我的脚本是“expnlines.pl”,我使用期望作为二进制驱动程序,具有不同的参数。当子进程运行无限循环时,我需要一些机制来检测和停止它,我不知道如何。欣赏回复。
perl - 如何捕获使用 Expect 发送的命令的结果
Expect
使用 Perl模块时,我必须捕获发送命令的输出。
我知道在 shell 或 Tcl 中我可以puts $expect_out(buffer);
用来捕获以前运行的命令。
我怎样才能在 Perl 中做同样的事情?
我在远程机器上发送以下命令:
我需要stats
在某个变量中捕获输出。
perl - 通过 perl 的 expect 自动化和捕获登录提示
我正在尝试在 Perl 中自动化登录提示
我SSHGetCredentials('login_prompt' => 1)
用来生成登录提示,它是 perlExpect::SSH
库的功能
这就是我的代码的样子,这里REST::Client->getCredentials()
内部调用SSHGetCredentials('login_prompt' => 1)
将调用登录提示并返回输入的用户 ID 和密码。
现在我想验证用户名或密码是否是我传递的,所以我想捕获它们并进行比较。
我怎样才能捕捉到它们?
我试过这个:
但$value
什么都没有,$exp->expect(1)
只是打印 STDOUT 中的值。
perl - 如何使用 Expect 模块发送带有特殊字符的密码?
我对 Perl 的特殊字符有一个大问题。
我正在尝试建立 Telnet 连接。
因此,在命令“Telnet $ipAddress”之后,我必须发送凭据。
我已经这样做了:
问题是我的密码的第一个字符是 @ 字符,它是一个特殊字符。
我已经尝试过'@password'
,"\@password"
或"\\@password"
,但登录失败。
我怎样才能让我的密码工作?
perl - 以编程方式将参数传递给交互式脚本
我们有一个交互式脚本(脚本 1),它要求一个 IP 地址并继续它的执行过程。从 script2 调用脚本 1。由于我们知道我们想要将 IP 自动传递给脚本的 IP 地址,因此不需要手动干预
我查看了期望模块。但我无法在 PRODUCTION 服务器中安装该模块。
有人可以建议一种方法来克服这个问题。
multithreading - 从 perl 线程生成 Expect
我正在编写一个脚本,该脚本需要定期(每 5 分钟)生成一个 Expect 进程来完成一些工作。下面是我拥有的生成 Expect 进程并完成一些工作的代码。脚本的主要进程一直在做一些其他的工作,例如它可能等待用户输入,因为我在一个线程中调用这个函数'spawn_expect',每5分钟调用一次,但问题是预期没有按预期工作。
但是,如果我用另一个进程替换线程,也就是说,如果我分叉并让一个进程负责生成 Expect,而另一个进程完成脚本的主要工作(例如在提示符处等待),那么 Expect 工作正常。
我的问题是是否有可能产生一个线程期望进程?我必须求助于使用流程来完成这项工作吗?谢谢 !
perl - 如何将期望脚本转换为 perl 脚本?
我以前从未使用过 perl 脚本。我已经完成了期望脚本,有没有办法将它转换为perl?
我现在正在尝试学习 perl 脚本。任何想法都会有所帮助!
非常感谢!
multithreading - SSH使用expect和线程?
您是否找到了有关如何使用带线程的期望进行 ssh 的解决方案?
我已经阅读了一个期望在线程中无法正常工作的线程,这仍然是真的吗?
perl - 使用 Expect.pm 在 perl 中处理“--More--”
我有一个带有 Mac 地址的设备的 show 命令,我正在使用Expect.pm在 perl 中执行该命令。--More--
命令的输出在底部有 100 多行。我能够在第一次出现--More--
. 但不是在那之后。我尝试使用 while 循环它对我不起作用。请帮我解决这个问题。
perl - 打印期望输出而不调用变量
我正在尝试理解
Expect
Perl 模块。
我想从中获取值和机器$var
,但即使我使用正则表达式也无法使我的代码工作。
我想从$var
机器和命令提示符(如机器 1 - 7)中获取值,但我不知道为什么它会$var
在终端中打印,因为我没有调用$var
变量
输出