Цель состоит в том, чтобы получить интерактивную < /strong> (я могу выпустить команду, а затем выпустить еще одну команду).
У меня есть это работа, однако, что я получаю из -за того, что он есть в «Br />
». Однако в ответе у меня есть в ответ. Нет ответов, предлагающих использовать exec () и цепочку нескольких команд на одной строке, используя EG && - это не то, что я хочу. Некоторые из команд, которые я выполняю, изменяют переменные среды и т. Д., Поэтому, если я запустил новый сеанс для каждой команды, они будут теряются < /strong>
Некоторый пример кода: < /p>
Код: Выделить всё
SshResponse response;
shell = session.createShellChannel();
shell.open();
in = shell.getInvertedOut();
response = getResponse();
System.out.println(String.join("\r\n", response.responseLines));
// Not really relevant to this question, but this is the kind of stuff I will be doing:
out = shell.getInvertedIn();
out.write("setenv.bat\r\n".getBytes()); // Do something which sets some env variables
out.flush();
response = getResponse();
// Analyse response
out.write("dosomething_else\r\n".getBytes());
// etc
session.close(false);
client.stop();
она не добавляет строки подсказки в responselines .
Следовательно, ответные линии должны содержать только две строки:
Код: Выделить всё
Microsoft Windows [Version 10.0.26100.3775]
(c) Microsoft Corporation. All rights reserved.
< /code>
Тем не менее, то, что я понимаю, это:
line 0 - это чистое загрязнение и не должно присутствовать во всех. а затем после этого содержит номер версии Windows, как и должно. Делаете ли это, это выглядит в соответствии с вышеупомянутым - только 2 строки авторских прав
< /p>
Так мой вопрос - каковы эти дополнительные символы? Я думает , это может быть, какое -то управляющее персонажи - форматирование или что -то в этом роде? Каждая из плохих последовательностей начинается с символа ESC < /code>, и там также есть Bel < /code>.
Как избавиться от них от ответа? Очевидно, вы могли бы использовать регулярные индексы или что -то в этом роде, чтобы удалить их, но в идеале я бы предпочел какой -то метод, который означает, что они даже вообще не попадают в ответ. Я написал код, который использует тот же подход с использованием библиотеки SSHJ (черт возьми, getResponse () Подробнее здесь: https://stackoverflow.com/questions/797 ... s-pollutin
Мобильная версия