Entfernen von Shell-Inhalten (wie Eingabeaufforderungen) aus der Befehlsausgabe in JSch

Ich habe erfolgreich eine SSH-Verbindung zu einem Knoten hergestellt, die Eingabe gesendet und die Ausgabe abgerufen. Nach der Eingabe einer Zeile wird die Zeile auf der Konsole gedruckt, gefolgt von einer leeren Zeile. Anschließend wird die Ausgabe zweimal gedruckt. Ich möchte nicht, dass die Eingabe nach der Eingabe in die Konsole gedruckt wird, noch dass die leere Zeile oder die Ausgabe ein zweites Mal gedruckt wird. Unten ist der Code, den ich habe

public void runSession() {
    try {
        Channel channel = session.openChannel("shell");
        channel.setInputStream(System.in, true);
        channel.setOutputStream(System.out, true);
        channel.connect(defaultChannelTimeout);

        while (channel.getExitStatus() == -1) {
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                System.out.println(e);
            }
        }

        channel.disconnect();
    } catch(JSchException jschEx) {
        System.out.println("JSch exception during I/O");
        System.out.println(jschEx.getMessage());
    }
}

Hier sieht die Konsole aus, wenn sie ausgeführt wird

user: domain @ node: / a / b / c> cd ..

cd ..

user: domain @ node: / a / b> user: domain @ node: / a / b>

ie Sie sehen können, gibt es Probleme:

Die "CD .." wird in einer Zeile an die Konsole von selbst gedruckt Nach der "cd .." erscheint eine leere Zeile.Die Zeile "user: domain @ node: / a / b>" wird zweimal gedruckt.

Weiß jemand, wie ich diese 3 Elemente von der Anzeige in der Konsole entfernen kann? Gewünschte Ausgabe ist

user: domain @ node: / a / b / c> cd ..

user: domain @ node: / a / b>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage