Es posible mostrar la salida de un comando en múltiples terminales simultáneamente con el siguiente script, y funciona con todos los programas de consola, incluidos los editores. Por ejemplo haciendo:
execmon.bash 'nano hello.txt' 5
Abrir un editor y tanto la salida y el texto que se introduce será redirigido al número de terminal virtual 5. Se puede ver sus terminales:
ls /dev/pts
Cada terminal virtual tiene un número asociado.
Trabaja con la terminal normal, konsole y xterm, solo crea el archivo execmon.bash y poner esto:
#!/bin/bash
# execmon.bash
# Script to run a command in a terminal and display the output
# in the terminal used and an additional one.
param = $ #
if [$ param-eq 2]; Then
echo $ 1 | tee a.out a.out && cat>/dev/pts/$ 2 && exec `cat` a.out | tee/dev/pts/$ 2 && rm a.out
else
echo "Usage:"
echo "execmon 'command' num '
echo "-command is the command to run (you have to enter ')"
echo "-num is the number of virtual console to output to the"
fi
Ejemplo:
execmon.bash 'ls-l' 5
execmon.bash 'nano Hello.txt' 5
¿Cuáles son usted * realmente * tratando de hacer? Puede ser que tu lógica para probar que esto está en primer lugar sea defectuosa; podría haber una solución más fácil para obtener el mismo resultado. Además, los terminales se ejecutan en procesos separados, por lo que necesitaría alguna forma de [comunicación entre procesos] (http://en.wikipedia.org/wiki/Inter-process_communication) para lograr que hablen entre sí. –