我想使用java实现expect“interact”命令。在期望中,可以打开ssh会话,进行身份验证,然后使用“interact”命令将控件返回给用户。这可能与Java?我尝试过expectJ,expect4J和expectForJava但是文档很少,几乎没有如何做到这一点的例子。 TIA。
更新:对于“互动”命令参考,请查看:http://wiki.tcl.tk/3914
“Interact是一个Expect命令,可以控制电流 处理到用户,以便将击键发送到当前 进程,以及当前进程的stdout和stderr 返回。“
答案 0 :(得分:1)
答案 1 :(得分:1)
如果有人感兴趣,我已经为ExpectIt添加了基本的交互式循环支持,这是我自己的开源Expect for Java实现(对不起自我推销),自0.8版以来。
这是与Java 8中的系统输入流交互的example:
try (final Expect expect = new ExpectBuilder()
.withInputs(System.in)
.build()) {
expect.interact()
.when(contains("abc")).then(r -> System.out.println("A"))
.when(contains("xyz")).then(r -> System.err.println("B"))
.until(contains("exit"));
System.out.println("DONE!");
}
System.in.close();