ssh force tty retorna caractere extra não imprimível

2

Eu sei que ^M será exibido quando ssh -t , ref1 , mas eu não entendo a situação quando ssh -t no Centos 7.2 (mesmo o Centos 6.2 está OK, mas nenhuma diferença entre o ambiente vars). Alguém sabe disso? Ou talvez relacionado a ref2 ?

$ ssh -t centos72 'echo $HOME' 2>/dev/null|cat -A
^[[?25h^[[0G^[[K^[[?25h^[[0G^[[K/home/user^M$
$ ssh centos72 'echo $HOME' 2>/dev/null|cat -A
/home/user$
$ ssh -t ubuntu1404 'echo $HOME' 2>/dev/null|cat -A
/home/user^M$
$ ssh ubuntu1404 'echo $HOME' 2>/dev/null|cat -A
/home/user$
    
por schemacs 27.12.2015 / 09:00

1 resposta

2

Estes são caracteres de controle para seus códigos de terminal ou VT100. Eles são necessários para fazer seu terminal funcionar com o psoudoterminal remoto, para mostrar seu prompt e outras coisas.

Descrição detalhada das tags de outra pergunta SO e de wikipedia :

  • CSI ?25h : mostra o cursor.
  • CSI n G : Move o cursor para a coluna n . (não ANSI.SYS)
  • CSI n K : Apaga parte da linha. Se n for zero (ou ausente), limpe do cursor até o final da linha. Se n for um, limpe do cursor para o início da linha. Se n é dois, limpe a linha inteira. A posição do cursor não muda.
  • e mais uma vez os dois primeiros.
  • ^M : retorno de carro (no final da linha)

Estas são algumas verificações básicas de integridade para garantir que o terminal esteja pronto. O Ubuntu os envia provavelmente somente após a consulta do terminal local.

    
por 27.12.2015 / 09:43