Я использую putty для SSH в Mac, если я пытаюсь отредактировать файл с помощью pico, nano или vi, я получаю вывод, похожий на этот:
[username]$ pico textEdit.txt
←)0←7←[?47h←[1;24r←[m←[4l←[?1h←=←[?1h←=←[?1h←=←[?1h←=←[H←[2J←[22B←[7m^G←[m Get Help ←[7m^O←[m Write
←[1B←[7m^X←[m Exit←[6C←[7m^J←[m Justify ←[7m^W←[m Where Is ←[7m^V←[m Next Page ←[7m^U←[m UnCut Tx
t ←[7m^T←[m To Spell ←[22;35H←[7m[ New File ]←[m←[H←[7m GNU nano 1.2.4 File: textEdit.txt ←[1;52H←[m
Есть ли какие-либо настройки, которые я могу изменить для putty или моей командной строки, чтобы обеспечить правильное отображение результатов? (Я не нашел ни одного)
РЕДАКТИРОВАТЬ: я использую plink, чтобы открыть туннель, если я открываю замазку обычным способом, он работает просто отлично
Я видел много решений использования графических редакторов поверх замазки, но я бы предпочел использовать редактор на основе оболочки для быстрого редактирования.
TERM
переменная окружения установлена неправильно.Ответы:
Вы не используете PuTTY. Вы используете
plink
. Есть разницаВ Windows консоль по умолчанию работает несколько иначе, чем терминалы в Unixes, то есть она вообще не понимает escape-последовательности ANSI (а различные консольные программы используют специальные функции API для позиционирования курсора или изменения цветов).
Таким образом, PuTTY.exe - это не только SSH-клиент, но и полноценный эмулятор терминала. Точно так же, если вы используете
ssh
команду Cygwin , она использует некоторый слой эмуляции терминала внутриcygwin1.dll
.Между тем
plink.exe
ничего подобного не имеет, это только SSH-клиент. Это означает, что если вы запустите его в консоли Windows, вы всегда будете видеть необработанные управляющие коды в том виде, в котором они были отправлены, без какой-либо интерпретации.Есть три возможных решения:
запустить
plink
внутри эмулятора терминала, такого как MinTTY;установить
ssh
из Cygwin;использовать
PuTTY.exe
- это действительно подключить вас к оболочке; это программа с графическим интерфейсом только для того, чтобы иметь возможность использовать расширенные функции терминала.источник