Eu tenho um problema em que, se eu digitar comandos muito longos no bash, o terminal não renderizará o que estou digitando corretamente. Eu esperaria que, se tivesse um comando como o seguinte:
username@someserver ~/somepath $ ssh -i /path/to/private/key
myusername@something.someserver.com
O comando deve renderizar em duas linhas. Em vez disso, ele geralmente se espalha e começa a escrever por cima do meu prompt, mais ou menos assim:
myreallylongusername@something.somelongserver.comh -i /path/to/private/key
Se eu decidir voltar e alterar algum argumento, não há como dizer onde o cursor aparecerá, às vezes no meio do prompt, mas geralmente na linha acima de onde estou digitando.
Diversão adicional acontece quando quando eu Uppara um comando anterior. Eu tentei isso no gnome-terminal e terminator e no i3 e Cinnamon. Alguém sugeriu que era o meu prompt, então aqui está:
\[\033[01;32m\]\u:\[\033[01;34m\] \W\033[01;34m \$\[\033[00m\]
Ctrll,, reset
e clear
todos fazem o que dizem, mas quando digito o comando novamente, ou Upacontece o mesmo.
Eu verifiquei e checkwinsize
está ativado no bash. Isso acontece em 80x24 e em outros tamanhos de janela.
Isso é apenas algo que eu aprendo a conviver? Existe algum pedaço de magia que eu deveria saber? Decidi usar apenas um prompt muito curto, mas isso não resolve o problema.
\[\033[01;32m\]\u: \[\033[01;34m\]\W \[\033[01;34m\] \$ \[\033[0m\]
parece evitar a estranheza no comportamento -, mas não sei se ele respeita o seu prompt de originais completamente ...
tput smam
env -i bash --norc
corrige-o. As combinações $ COLUMNS e $ LINES. Isso significa que há algo engraçado no meu .bashrc?