ssh force tty return caracter extra no imprimible


2

Lo sé ^M aparecerá cuando ssh -t, ref1 , pero no entiendo la situación cuando ssh -t en Centos 7.2 (incluso Centos 6.2 está bien, pero no hay diferencia entre las variables del entorno). Alguien sabe acerca de esto? O tal vez relacionado con 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$

Respuestas:


2

Estos son caracteres de control para su terminal o códigos VT100. Se necesitan para que su terminal funcione con el terminal remoto remoto, para mostrar su indicador y otras cosas.

Descripción detallada de las etiquetas de otro Que pregunta y de wikipedia :

  • CSI ?25h : Muestra el cursor.
  • CSI n G : Mueve el cursor a la columna n. (no ANSI.SYS)
  • CSI n K : Borra parte de la línea. Si n es cero (o falta), borre desde el cursor hasta el final de la línea. Si n es uno, borre desde el cursor hasta el principio de la línea. Si n es dos, borra toda la línea. La posición del cursor no cambia.
  • Y una vez más los dos primeros.
  • ^M : Retorno de carro (al final de la línea)

Estas son algunas comprobaciones básicas de seguridad para asegurarse de que el terminal esté listo. Ubuntu los envía probablemente solo después de la consulta desde el terminal local.


Wow, gracias por la respuesta verbosa.
schemacs

Por lo tanto, no hay forma de deshabilitar esto, excepto apagar -t? ¿Por qué hay diferencias entre CentOS 6.2 y CentOS 7.2?
schemacs

No lo creo. Utilizando -T deshabilitará la asignación de TTY y por lo tanto los caracteres de control. Si solo necesita la salida del comando, no hay razón para crear TTY remoto. Para encontrar una diferencia, probablemente sea necesario revisar el código fuente más o menos. No tengo la máquina CentOS por aquí (6.2 está bastante desactualizada).
Jakuje


He presentado un problema aquí: github.com/ansible/ansible/issues/13677
schemacs
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.