enviar comandos a un terminal desde otro

Supongamos que tiene una terminal (T1) abierta con 6350 pid.

Tipo:

echo "ls\n" > /proc/6350/fd/0 (writen in another terminal (T2)).

¿Esto escribe ls y la línea salta en T1 pero no lo ejecuta? Por qué ?

También intenté usar

cat|bash with echo "ls\n" > /proc/catPID/fd/0 

pero sigue sin ejecutarse.

¿Alguna idea?

Gracias,

Editado:

Un posible truco:

mkfifo toto

$bash < toto

$echo "ls" > toto

preguntado el 22 de mayo de 12 a las 13:05

sin "\n"? echo "ls" > /proc/6350/fd/0 -

1 Respuestas

Primero, si quieres echo interpretar el \n como nueva línea tienes que llamarlo con -e.

En segundo lugar, lo que quiere (secuestrar una terminal) no es (fácil) factible, vea unix.stackexchange. yo usaría screen en ambas sesiones (una con la opción -x).

Respondido 13 Abr '17, 13:04

echo sin opcion -n agrega un \n al argumento - MirkoBanchi

@rvlander: el consejo con el eco fue cómo generar \n en caso de que desee generarlo (como MirkoBanchi ya mencionó, no es necesario ya que el eco ya se genera por sí solo). Tu problema es que quieres "secuestrar" los pts, lo cual no es factible. - flolo

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.