GNU/Linux >> Tutoriales Linux >  >> Linux

¿Ejecutar comando en terminal activo remoto?

Suponga que tiene un emulador de terminal (T1) abierto con un PID de 6350.

Desde otra terminal, escribe este comando (C1):

echo "lsn" > /proc/6350/fd/0

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

También intenté usar cat|bash con echo "lsn" > /proc/catid/fd/0 pero aún no se ejecuta.

¿Cómo puedo repetir el comando en otro terminal y ejecutar el comando?

posible respuesta:

$ mkfifo toto;
$ bash < toto;
$ echo "ls" > toto;

En este caso, ya no puede escribir más directamente en la terminal (todo se muestra de la misma manera que el comando (C1) se muestra en esta terminal.

Respuesta aceptada:

Hay una utilidad de línea de comandos llamada ttyecho que puede enviar un comando a otro terminal (tty/pts) y ejecutar el comando.

sudo ttyecho -n /dev/pts/5 ls

Ver:Utilidad para Enviar Comandos o Datos a Otros Terminales (tty/pts)

Ver también:ttyecho código fuente en github.

Otro comando tty interesante es selector , un comparador de patrones interactivo en tiempo real en la consola que actualiza el búfer de entrada de tty.

# selector examples
selector -v -x @ <(find . -maxdepth 2 -type d | awk '{print $0"@cd "$0}')
selector -v -x @ <(grep -E -o 'http[^ ]+' fileWithURLS)

Ver:selector – BÚSQUEDA DINÁMICA EN CONSOLA


Linux
  1. ¿Ejecutar comando en un rango definido de directorios?

  2. ¿Ejecutar comando Nohup con entrada?

  3. ¿Terminal Ctrl+s versus Ctrl+z?

  4. ¿Ejecutar un comando donde se encuentra un archivo?

  5. | ¿En Comando Terminal?

Cómo ejecutar un comando de Shell con Python

Accesos directos para navegar por el historial de la terminal

Cómo grabar todo lo que haces en la terminal

¿Cómo ejecutar un comando en un script de Shell?

Comando de historial en Linux:ver el historial de terminales de Linux

Usando cut en Linux Terminal