Проблема, несомненно, связана с Windows. Он имеет дело с размером окна TTY -; Чем уже размер окна, тем больше комбинаций символов перевода строки(LF
)и возврата каретки(CR
)символов будет добавлено при вставке в соответствии с узостью окна. Такие комбинации представлены как CRLF
.
Если я правильно понял сопровождающего Nano Бенно Шуленберга , Nano естественным образом преобразует CRLF
комбо в символы завершающих пробелов(^J
символы ).
Как предложил мне Бенно, добавление следующего кода в конец /etc/nanorc
решило эту проблему:
bind ^J enter main
С одной стороны, это отключит формирование ^J
символов, нарушающих код; с другой стороны, он добавит только символы перевода строки(LF
), применимые в Linux (, в отличие от комбинаций Windows CRLF
), к копируемым данным.
Только добавленные символы LF
хороши тем, что они предотвращают отображение вставляемых данных в виде одной длинной строки текста.
Вы можете посмотретьscript(1)
для регистрации выходных данных терминала. С его помощью будет создан файл машинописного текста, в котором сохраняется исходное форматирование всего, что отображается на терминале, включая escape-последовательности, командную строку и пробелы, среди прочего.
Его можно использовать, сначала вызвав команду script [file]
как отдельную команду, а затем подключившись по ssh. Если вы не укажете файл, он будет называться typescript
и будет помещен в PWD.
После этого запустите свои команды, как обычно, и когда вы закончите и выйдете из ssh, введите exit
, нажмите Ctrl-D
или используйте любой другой метод, который обычно закрывает ваш терминал; это закончится script
вместо этого.
Затем эти машинописные файлы можно прочитать с помощью такой команды, как cat
илиless -r
(Игнорирование предупреждения о двоичном файле ).