Server Bash Line Envolvendo Texto & Em Lugar Errado

4

Este é um problema muito difícil de explicar, quando se conecta a um dos meus servidores usando o shell bash, sob qualquer usuário, a quebra de linha é quebrada e tem todos os tipos de problemas. Uma vez que eu detalhe em screenshots abaixo:

Outros problemas que experimentei incluem o nano ficar muito confuso sobre qual linha e / ou letra que eu estou usando, como mostrado digitando a mesma mensagem em nano:

EssesproblemassóocorremaoconectarcomomencionadoanteriormenteemumdosmeusservidoresqueexecutamoCentOs.Vocêsabeporqueissoestáacontecendoeoquepossofazerparaconsertarisso?Emoutrosservidores,amensagemfuncionabem!

Obrigado pelo seu tempo,

Saída dos comandos solicitados:

Servidor que não funciona corretamente:

Servidordetrabalho:

Poderia ser talvez o prompt personalizado no servidor que não funciona? Em .bashrc

PS1='\e[1;32m\u@\h\e[m:\e[1;34m\w\e[m$ '

Comentar isso pareceu resolver o problema.

O Google diz que erros de quebra de linha podem ocorrer se você não estiver em conformidade com essas regras

use the \[ escape to begin a sequence of non-printing characters,
and the \] escape to signal the end of such a sequence

Não tenho certeza de onde isso caberia no meu prompt?

    
por Pez Cuckow 22.08.2011 / 13:31

3 respostas

5

O aviso personalizado é o problema (dos seus comentários).

PS1='\e[1;32m\u@\h\e[m:\e[1;34m\w\e[m$ '

Ele está enviando uma sequência de controle que seu terminal não entende ou não está bem formado.

Você poderia tentar isso,

PS1='\[\e[1;32m\]\u@\h\[\e[m\]:\[\e[1;34m\]\w\[\e[m\]$ '
    
por 22.08.2011 / 14:13
2

Isso é quase certamente uma diferença de opinião entre o emulador de terminal e o sistema em execução em relação aos recursos do terminal. Se, como você diz, isso acontecer apenas em determinadas máquinas (ou apenas em SSH), compare o valor da variável de ambiente TERM entre sistemas que funcionam e não funcionam e tente definir TERM apropriadamente no sistema que não é não está funcionando.

Isso pode não funcionar, dependendo de quantos anos o banco de dados terminfo está no sistema que não está funcionando; É possível que você precise atualizar esse sistema ou, no mínimo, encontrar outro valor TERM que funcione para você e que o sistema remoto conheça.

    
por 22.08.2011 / 13:41
2

Eu estava enfrentando o mesmo problema. Entrei em "Preferências" do Terminal no Lion (mais recente OSX 10.7.3) e depois em:

Configurações - > Avançado - > "Declare terminal como"

E escolheu "xterm" em vez do V100 original.

Problema resolvido.

(Isso é porque eu amo meus prompts personalizados, etc.)

    
por 15.04.2012 / 17:02