1

Я использую bash shell

$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
$

Иногда, при вводе команды в командной строке, которая довольно длинная и не помещается в текущей строке, вместо отображения дополнительных символов в следующей строке, bash запускается снова в текущей строке ... заменяя символы, которые были там, и делая бардак.

что должно произойти:

|---------------------------------------------|
| $ my big long command takes a lot of argumen|
| s and does not fit in a single line         |
|                                             |
|---------------------------------------------|

что происходит вместо:

|---------------------------------------------|
| s and does not fit in a single linef argumen|
|                                             |
|                                             |
|---------------------------------------------|
  • Проблема является непреднамеренной
  • Если я изменю размер моего окна оболочки до действительно маленькой ширины, нормальное поведение восстанавливается

Кто-нибудь знает, что здесь происходит?


$ echo $TERM
xterm
$ echo $PS1
\[\e[30m\][\t]\[\e[0m\]\[\e]0;\w\a\]\[\e[30m\][\W]$
$

1 ответ1

0

Ваша оболочка запутывается из-за ширины вашего терминала. Всякий раз, когда это происходит, eval `resize` должен сбросить все правильно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .