![Ejecutar un comando en otra terminal](https://rvso.com/image/109209/Ejecutar%20un%20comando%20en%20otra%20terminal.png)
Estoy buscando una manera de ejecutar comandos desde un script bash a 2 terminales diferentes.
Conozco una manera de hacerlo manualmente escribiendo "tty" en una terminal y luego redirigiendo los comandos desde la otra terminal con la salida "tty".
Pero me gustaría hacerlo automáticamente con un script que pueda guardar en una variable la salida de "tty". Básicamente quiero ejecutar un script en una terminal que inicie un programa en otra e imprimir mensajes de seguimiento para seguir su actividad.
Lo intenté :
gnome-terminal -e "bash -c 'term2=$(tty)' ;exec bash'"
o incluso:
gnome-terminal -e "bash -c 'tty > term2.txt;my_var='cat term2.txt' ;exec bash'"
Pero ninguno de ellos puede guardar la salida de "tty" en mi variable. Lo cual no entiendo porque funciona si los escribo manualmente uno por uno.
¿Podría explicarme qué hay de malo en mi método? Si tiene alguna sugerencia u otro método que proponer, estaré encantado de aprender cosas nuevas.
Respuesta1
Gracias a tus consejos encontré la respuesta a mi pregunta. Aquí hay un ejemplo que espero pueda ayudar a otros en mi situación:
Usé "tmux" para dividir una ventana de terminal. El siguiente script permite iniciar un script de Python en el panel derecho de la ventana y un script de bash en el izquierdo. El comando "enviar clave" permite enviar comandos a un panel específico. Para poder utilizar sus variables en cada panel, puede declararlas con "exportar" al comienzo de su secuencia de comandos.
export python_script=test.py export bash_script=test_bash.sh tmux new-session -d tmux split-window -h tmux send-keys -t 1 'python $python_script' 'C-m' tmux send-keys -t 0 'bash $bash_script' 'C-m' tmux attach-session