问题标签 [expect]

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.

0 投票
1 回答
4390 浏览

expect - 期望命令输出存储在变量中

我写了下面的脚本。



现在,我想在变量中获取表的输出,即

并匹配正则表达式以在另一个变量中获得“19”。

任何人都可以帮我解决问题。

/阿克夏

0 投票
1 回答
26572 浏览

linux - 如何在 Expect 脚本中返回生成的进程退出代码?

我使用 expect 来运行测试脚本。测试通过退出代码返回成功/失败。但期望返回等效的退出代码。如何使期望返回正确的退出状态?

我的测试是使用psql(postgresql 命令处理器)运行的 sql 脚本。由于 psql 不允许将数据库密码指定为命令行参数,因此期望脚本会这样做。

所以,我的期望脚本看起来像:

0 投票
3 回答
5301 浏览

linux - 自动化 ssh 登录:tcl 期望交互命令行为怪异

我想自动化 ssh 登录。经过一些研究,似乎 tcl/expect 是要走的路。

但是,我的问题是,当交互接管我的终端时,东西不能按预期工作(双关语不是故意的)。

例如,如果我调整终端的大小,它不会“占用”。此外,有时交互没有响应,有时它只是无缘无故挂起。我在下面包含了我的代码。我对代码的问题是,我错过了什么吗?

另外,有没有更好的方法来做到这一点(使用另一种脚本语言?)我需要终端非常敏感,这与我在控制台上手动键入 ssh 没有什么不同。

0 投票
1 回答
718 浏览

java - 我将如何使用 ExpectJ 在 Java 中调用 pg_dump(在 PostgreSQL 8.4 上)?

我在很多地方都看到过这个问题,也就是说,以编程方式从 PostgreSQL 进行备份的问题。我的解决方案是使用 ExpectJ,但我无法让我的代码正常工作。

我有以下代码:

但是,在 shell.expect 行上,它超时了。

当我从命令提示符运行此命令时,它如下所示:

C:\Documents and Settings\bobjonesthe3rd>"C:\Program Files\PostgreSQL\8.4\bin\pg_dump" -h localhost -U myUserName myDB
密码:

所以,我知道它会提示输入密码,但 ExpectJ 出于某种原因没有收到提示。

任何帮助将非常感激。

谢谢,马特

0 投票
1 回答
2326 浏览

perl - 如何在 Perl Expect 中完成 if-else?

Expect在 Perl 中使用来完成一项任务。发送命令后,我期待SuccessERROR作为输出,这取决于我需要打印到一个文件,说明它是成功还是失败。

LOG是一个文件句柄。如果我使用它,那么即使我得到命令Success的输出,send两个正则表达式都会被执行。在我的日志文件中,我得到

我该如何解决这个问题?

0 投票
1 回答
3279 浏览

perl - 将期望的输出重定向到期望的日志文件

我在 perl 中使用期望。我想将出现在标准输出控制台上的所有输出重定向到一个日志文件,以便我以后可以调试它。目前我正在使用 $exp->log_stdout(0); 我可以将其重定向到日志文件而不是重定向到此?如果是这样怎么办?

0 投票
2 回答
9781 浏览

expect - 期望(语言)“无法编译正则表达式模式:量词操作数无效”错误

我在使用 Expect 正则表达式时遇到问题。

我正在尝试匹配此输出:

我想从行中的“+6”中取出“6”:

我正在使用这个正则表达式:

但是当我运行脚本时出现错误:

我读过某些字符需要转义,否则 Expect 会尝试评估(因此上面的“[”被转义了),而且我没有收到“无效命令”错误,所以我想我已经过去了那个阶段。

但现在我被困在为什么这个表达式不会编译:-/

如果没有直接回答,有人知道任何可以帮助我调试的 Expect 正则表达式工具吗?

0 投票
1 回答
75 浏览

.net - 如何使用 .NET 包装 REPL?

我正在尝试为 REPL 制作一个 .NET 包装器(特别是 Scheme,但我还没有找到重要的地方)。我寻找某种期望风格的库,但找不到,所以我一直在使用 System.Diagnostics.Process。我不认为我在正确阅读和写作方面取得了成功。

这是我的代码;它在 IronPython 中,但我在 C# 中有类似的结果:

这是输出:

我希望它最终允许我阅读提示(类似于“>”),并且我输入的表达式的结果(“(+ 3 15)”应该返回“18”)。

0 投票
2 回答
1670 浏览

expect - 期望脚本、来源和回报

在第 35 页,在“探索期望”一书中,它说“返回命令可用于使源命令返回。否则,源仅在执行文件中的最后一个命令后返回。”

我不太明白它在说什么。我想知道这意味着什么以及它有什么用处。

谢谢你。

0 投票
1 回答
2686 浏览

comparison - 什么是 Expect 可以做而 Pexpect 不能做的?

我正在考虑开始使用 Pexpect。在 Pexpects 主页上,我发现:

问:为什么不直接使用 Expect?

答:我喜欢。这很棒。我已经让我摆脱了一些真正的障碍,但我想要的东西能够满足我对 Expect 的 90% 的需求;为大小的 10%;并允许我用 Python 而不是 TCL 编写我的代码。Pexpect 没有Expect 大,但Pexpect 可以完成我曾经使用过Expect 的所有功能。

Pexpect 和 Expect 之间有 10% 的差异。所以我的问题是这 10% 的差异是什么。什么是Expect 可以做而Pexpect 不能做的。