簡體   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