2012-05-24 2 views
3

Я запускаю утилиту SSH в комплекте с Cygwin, используя класс ProcessBuilder в Java. Все работает нормально. Я подключаюсь к серверу Linux через SSH, могу запускать команды и читать выходные данные.Углубленный текст при чтении из внешнего процесса в Java

Однако, когда выход возвращается, это происходит только после входа в систему на сервере и выполнения команд, например, список каталогов ls, возвращает что-то вроде этого:

InputStream: [email protected]:/scripts/common# ls 
InputStream: [00m[00mA1-4.yaml[00m       [01;32mscip-1.2.0.linux.x86_64.gnu.opt.qso[00m 
InputStream: [00madditional_files.txt[00m     [01;32mscip-1.2.0.linux.x86_64.gnu.opt.spx[00m 

Насколько я понял, это является только происходит с командой перечисления файлов. Например, когда я запускаю другие команды, такие как время и т. Д., Он показывает нормальный выход.

Можете ли вы предложить, что такое добавление этих случайных символов к имени файла?

Я даже пытался использовать кодировку UTF8, но ничего не меняется. Когда я напрямую вхожу в систему с помощью командной строки, я не вижу этих результатов. Однако cmdline показывает имена файлов в цветных значениях. Разве есть дополнительная информация, которая не является ASCII?

+1

ОК, я просто понял, что это было действительно так. Значения коротких цветовых кодов, которые печатаются в символы без ascii, добавляются, и поскольку такой исходный вывод выглядит отлично в cmdline, он показывает разные значения в извлеченном тексте. С вызовом: ls --color = none, он работает отлично. – Johnydep

+0

Угадайте, кто-то должен удалить этот вопрос. Спасибо – Johnydep

+3

Вы должны на самом деле создать ответ на свой вопрос, потому что он может помочь кому-то в будущем. –

ответ

1

Использование команды ls --color=none решает эту проблему.

Это происходит потому, что по умолчанию команда ls возвращает имена файлов, которые к ним добавлены разные значения цветового кода. This link gives more information.

Следующая картинка описывает разницу между ls и ls --color=none:

enter image description here

Смежные вопросы