Я использую PuTTY для подключения по SSH к моему серверу Linux. Сегодня я заметил, что когда я ввожу длинную команду, выходящую за пределы правой части экрана, вместо перехода к следующей строке текст начинается с левой стороны экрана в той же строке, записывая поверх символов. . Я не могу понять, что могло быть причиной этого. Может ли кто-нибудь указать, что может вызвать это и как решить? У меня изначально установлен автоматический режим переноса в PuTTY.
Я не вносил никаких изменений в настройки PuTTY для этого сервера, поэтому не понимаю, почему это перестало работать правильно.
После отправки вопроса мне лучше было все обдумать, и другой поиск в Google дал мне это, что в значительной степени объясняет это:
Моя причудливая строка 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
если вам интересно). Думаю, с тех пор, как я это сделал, я не вводил никаких длинных команд ...