o controle de prompt do bash sobrescreve as linhas anteriores

0

Eu tenho um problema onde quando eu executo comandos como "systemctl status", a saída é gravada nas linhas anteriores da saída bash. normalmente a saída é escrita umas 20 linhas acima da linha atual ... PS1 não parece ser o problema desde que eu estou usando PS1 = $ para mantê-lo simples. Também tentei a solução mencionada em:

Bash substitui a primeira linha, prompt bash do PS1

Estou usando o putty para me conectar ao ubuntu em um destino incorporado. Eu não vejo esse problema por exemplo, se eu fizer um "gato" em um arquivo.

    
por Ganesh Prasad R 17.10.2016 / 22:13

2 respostas

0

A pergunta é muito vaga, mas eu checo:

  • verifique o terminal ( TERM ) e a configuração do seu terminal. Eles devem corresponder, mas também é preferível usar alguns dos padrões (e o sistema deve ter suporte instalado para esses terminais).

  • Verifique a fonte. Também neste caso, tente uma fonte comum.

por 19.10.2016 / 16:55
0

Você veria esse comportamento se systemctl status inicializasse o terminal (como se estivesse exibindo um aplicativo de tela inteira), usando os recursos do terminal old-xterm smcup e rmcup . Você pode ver aqueles com infocmp, por exemplo,

smcup=\E[?47h, rmcup=\E[2J\E[?47l,

Esses salvam / restauram a posição do cursor antes / depois de alternar para / da tela alternativa. Se você desativou o recurso de tela alternativa no putty, as seqüências de escape do cursor para salvar / restaurar ainda terão efeito.

Um smcup / rmcup de estilo novo implementado corretamente desativa o salvamento / restauração do cursor quando a tela alternativa é desativada (não lembro se isso foi implementado corretamente no putty ...).

Leitura adicional:

por 19.10.2016 / 22:17

Tags