Подтвердить что ты не робот

Командная строка перезаписывает себя, когда команды слишком длинны

Я использую PuTTY для входа на сервер Debian. У меня есть эта странная проблема: когда команда, которую я набираю, становится слишком длинной, она не обходится и не запускает новую строку. Вместо этого он начинается с начала той же строки и начинает перезаписывать приглашение, а затем - начало команды.

Команда будет работать нормально, но это действительно раздражает, я предполагаю, что есть какая-то настройка, которая исправит это для меня?

4b9b3361

Ответ 1

Я видел это поведение, когда вы изменяете размер окна Putty, пока выполняется другая команда, поскольку bash не получает сигнал, указывающий на то, что оно изменилось.

Если это проблема, добавив:

shopt -s checkwinsize

должен уйти.

Ответ 2

Я просто решил это сам.

В командной строке PS1 появилось несколько цветовых экранов:

LTGREEN="\033[40;1;32m"
LTBLUE="\033[40;1;34m"
CLEAR="\033[0m"
LIGHT_GRAY="\033[40;1;33m"
export PS1="$LTGREEN\[email protected]\h:$LIGHT_GRAY\w$CLEAR ❯ "

Проблема заключается в том, что цветовые литералы не заключены в скобки. Размещение экранированных скобок вокруг них полностью устраняет проблему:

LTGREEN="\[\033[40;1;32m\]"
LTBLUE="\[\033[40;1;34m\]"
CLEAR="\[\033[0m\]"
LIGHT_GRAY="\[\033[40;1;33m\]"
export PS1="$LTGREEN\[email protected]\h:$LIGHT_GRAY\w$CLEAR ❯ "

Надеюсь, что это поможет.

Ответ 3

Попробуйте нажать Ctrl + L. (Или, может быть, Alt + L - something + L). Если я правильно помню, это повторяет код, чтобы выяснить размер вашего терминала и соответствующим образом настроить.

Ответ 4

Try:

eval $(resize)

ََََََََََ

Ответ 5

Ctrl-l

Ctrl-l работает. Я предполагаю, что шпатлевка нужна

Ответ 6

Это решение работало для меня: Добавьте следующий фрагмент к .bashrc:

if [ $(tty) == '/dev/ttyS0' ]; then
  trap resize DEBUG
fi

Ответ 7

Ничего общего со шпателем не является "bash" ism.

Это очень полезно, когда вы привыкли к этому, но если это вас беспокоит, вы можете переключиться на "ksh", который делает что-то другое с длинными командами (не уверен, что на Debian!)