繁体   English   中英

如何使用java实现expect“interact”命令

[英]how to implement expect “interact” command using java

我想使用java实现expect“interact”命令。 在期望中,可以打开ssh会话,进行身份验证,然后使用“interact”命令将控件返回给用户。 这可能与Java? 我尝试过expectJ,expect4J和expectForJava但是文档很少,几乎没有如何做到这一点的例子。 TIA。

更新:对于“交互”命令参考,请查看: http//wiki.tcl.tk/3914

“Interact是一个Expect命令,它将当前进程的控制权交给用户,以便将键击发送到当前进程,并返回当前进程的stdout和stderr。”

这些库可能更适合您的需求:

SSHJ

https://github.com/shikhar/sshj

JSCH

http://www.jcraft.com/jsch/

如果有人感兴趣,我已经为ExpectIt添加了基本的交互式循环支持, 是我自己的开源Expect for Java实现(对不起自我推销),自0.8版以来。

以下是在Java 8中与系统输入流交互的示例

        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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM