bash começa a substituir os caracteres na linha atual para se mover para a próxima linha

1

Eu uso o shell bash

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

Às vezes, ao digitar um comando no prompt que é bastante longo e não cabe na linha atual, em vez de exibir os caracteres extras na próxima linha, o bash começa novamente na linha atual. substituindo os caracteres que estavam lá e fazendo uma bagunça.

o que deve acontecer:

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

o que acontece em vez disso:

|---------------------------------------------|
| s and does not fit in a single linef argumen|
|                                             |
|                                             |
|---------------------------------------------|
  • A questão é intemittent
  • Se eu redimensionar minha janela do shell para uma largura realmente pequena, o comportamento normal será restaurado

Alguém tem alguma ideia do que está acontecendo aqui?

$ echo $TERM
xterm
$ echo $PS1
\[\e[30m\][\t]\[\e[0m\]\[\e]0;\w\a\]\[\e[30m\][\W]$
$
    
por Lazer 08.01.2011 / 19:07

1 resposta

0

Seu shell está ficando confuso sobre a largura do seu terminal. Sempre que isso acontecer, eval 'resize' deve redefinir tudo corretamente.

    
por 10.01.2011 / 08:11