Назад | Перейти на главную страницу

Перенос строки PuTTY перестал работать должным образом

Я использую PuTTY для подключения по SSH к моему серверу Linux. Сегодня я заметил, что когда я ввожу длинную команду, выходящую за пределы правой части экрана, вместо перехода к следующей строке текст начинается с левой стороны экрана в той же строке, записывая поверх символов. . Я не могу понять, что могло быть причиной этого. Может ли кто-нибудь указать, что может вызвать это и как решить? У меня изначально установлен автоматический режим переноса в PuTTY.

Я не вносил никаких изменений в настройки PuTTY для этого сервера, поэтому не понимаю, почему это перестало работать правильно.

После отправки вопроса мне лучше было все обдумать, и другой поиск в Google дал мне это, что в значительной степени объясняет это:

http://web.archive.org/web/20110102214648/http://drnathan.teamhackaday.com/2009/04/03/fix-your-linux-terminal-line-wrap-issues/

Моя причудливая строка PS1 была: PS1='\e[0;32m[\u\e[m@\h \W]\$ ' но это включало непечатаемые символы (части \ e, которые меняют цвет имени пользователя). Мне нужно было избежать этих непечатаемых символов, используя \[. Следующее исправило проблему:

PS1='[\[\e[0;32m\]\u\[\e[m\]@\h \W]\$ '

Результат будет примерно таким:

[username@hostname cwd]$

Имя пользователя окрашено в зеленый цвет.

Я отредактировал свои строки PS1 так, чтобы у обычных пользователей имя пользователя было зеленым, но если su'd для root, root будет красным (\e[0;31m если вам интересно). Думаю, с тех пор, как я это сделал, я не вводил никаких длинных команд ...