Removendo coisas do shell (como prompts) da saída do comando em JSch
Fiz o SSH com êxito em um nó, enviei a entrada e recuperei a saída. Depois de inserir uma linha, a linha é impressa no console, seguida por uma linha em branco e a saída é impressa duas vezes. Não quero que a entrada seja impressa no console depois de inserida, nem na linha em branco, nem na saída impressa pela segunda vez. Abaixo está o código que tenho
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());
}
}
Aqui está a aparência do console ao executar
usuário: domínio @ nó: / a / b / c> cd ..
cd ..
usuário: domínio @ nó: / a / b> usuário: domínio @ nó: / a / b>
Como você pode ver, há problemas:
O "cd .." é impresso em uma linha no console por si sóUma linha em branco aparece após o "cd .."A linha "usuário: domínio @ nó: / a / b>" é impressa duas vezes.Alguém sabe como posso remover esses 3 itens de serem exibidos no console? A saída desejada é
usuário: domínio @ nó: / a / b / c> cd ..
usuário: domínio @ nó: / a / b>