问题标签 [expectj]
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.
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 出于某种原因没有收到提示。
任何帮助将非常感激。
谢谢,马特
java - 如何使用 ExpectJ 工具在 java 代码中运行 Unix shell 脚本?
这是我的 hello.sh shell 脚本
==================================================== ======
这是我的 Java 代码
==================================================== =====================
这是我的输出
名称://这是它要求的 wat
abcd //这是我给的..什么也没发生
==================================================== ==========
我已经更正了我上面的java代码..
java - 在java中运行ssh命令时出错
我正在尝试以这种方式在 Eclipse 中运行 ssh 命令
但我认为这是错误-
如果我尝试按照以下方式进行操作,
并执行,我得到这个错误
另外,代码只执行了一半,我收到了这条消息-
最后我面临一个超时异常
有什么建议么?我不确定这些错误消息是什么意思。
java - JSCH Java 小程序
我在网页中嵌入了一个 JSCH SSH Java 小程序,需要知道是否可以运行脚本(任何语言,如 PHP)来自动登录和运行命令。我听说过 expect4j 和 java 机器人,但看不到任何实现它的方法。请记住,我对 Java 不是很好,所以我对它一无所知。任何帮助表示赞赏。
java - 如何使用 Java 用交互式登录包装 rsync?
我正在尝试使用 java 包装 rsync,并且在处理交互式登录时遇到了困难。我可以让 unix 命令行实用程序expect
工作,但我似乎无法找出 java 等效的ExpectJ
. 这是我当前的代码:
当我运行它时,我收到错误:
似乎没有启动正常的 ssh 交互式登录,因为我正在从 java 调用 rsync。使用的类似 shell 脚本expect
工作得很好。此外,当我使用公钥授权时,类似的 java 代码似乎可以工作。如果我只是想使用ssh
,我会使用 JSch 之类的库,但我并不真正信任任何 java rsync 库,所以我想包装命令行工具。
谢谢你的帮助!
java - 用于 Telnet 的 ExpectJ
我想在 Java 中使用等价的 Expect。这是一个简单的代码:
结果,我得到了垃圾:
出口:
但是,当我从命令行使用 telnet 时,我得到了连接。
请帮忙。
java - Java 库通过 ssh 在远程服务器上运行多个不相关的命令
我的 Java 应用程序必须像这样工作:
- 用户在 GUI 中选择 bash 命令并按“发送”。
- 应用程序为每个命令返回不同且独立的答案(例如,我们可以将它们存储在不同的文件中)。
- 每个命令都以交互方式运行,而不是批量运行(不能像“ls\n pwd \n”等)
- 在每个命令之后,应用程序将检查结果是否正常。如果是这样,它将发送下一个命令。
- 我们需要
su <user>
在远程主机上执行。
这将是一个更大应用程序的插件,因此“尝试其他”(即 RPC、Web 服务)之类的答案对我没有帮助:(
据我了解,我必须使用 SHELL 或至少保持通道连接。
我已经测试过 jsch 、 sshj 和 ethz.ssh2 但结果很糟糕。
我已经通过stackoverflow对以下问题的答案进行了挖掘:“sending-commands-to-server-via-jsch-shell-channel”等。但它们都专注于在一行中发送整个命令。我需要一个交互式的、持久的 SSH 会话。
我用过ExpectJ(对输出流做了一点修改)。它已经解决了第 1、3、4、5 点。
但是第 2 点存在问题。在我的应用程序中,我需要得到单独的答案。但我们不会知道它们的长度。命令提示符可以不同。任何人都知道如何“破解”ExpectJ,所以它会更加同步吗?我正在寻找这样的行为:发送,等待完整答案,发送,等待......我尝试了一些基本的同步技巧,但这通常会导致超时和连接丢失。
java - 如何以同步方式使用ExpectJ(等待未知内容的答案)?
我的 Java 应用程序必须像这样工作:
- 用户在 GUI 中选择 bash 命令并按“发送”。
- 应用程序为每个命令返回不同且独立的答案(例如,我们可以将它们存储在不同的文件中)。
- 每个命令都以交互方式运行,而不是批量运行(不能像“ls\n pwd \n”等)
- 在每个命令之后,应用程序将等待并检查结果是否正常。如果是这样,它将发送下一个命令。
- 我们需要在远程主机上执行 su 。
我用过ExpectJ(对输出流做了一点修改)。它已经解决了第 1、3、4、5 点。
但是第 2 点存在问题。在我的应用程序中,我需要得到单独的答案。但我们不会知道它们的长度。命令提示符可以不同。任何人都知道如何“破解”ExpectJ,所以它会更加同步吗?我正在寻找这样的行为:发送,等待完整答案,发送,等待......我尝试了一些基本的同步技巧,但这通常会导致超时和连接丢失。
这个问题与我的老问题有关:
jsch - 如何处理expectj中的密码提示
我想通过expectj(实际上是jsch)发送“su root”命令。它要求密码。有没有办法在 expectj 中处理它?
java - 如何使用java实现expect“interact”命令
我想使用 java 实现期望的“交互”命令。在预期中,可以打开一个 ssh 会话,进行身份验证,然后使用“interact”命令将控制权交还给用户。用java可以吗?我尝试过使用 expectJ、expect4J 和 expectForJava,但文档很少,几乎没有关于如何执行此操作的示例。TIA。
更新:对于“交互”命令参考,请查看:http ://wiki.tcl.tk/3914
“Interact 是一个 Expect 命令,它将当前进程的控制权交给用户,以便将击键发送到当前进程,并返回当前进程的 stdout 和 stderr。”