Comando shell para abrir un terminal que ejecute un comando.

Resuelto
Julie -  
 Julie -
Hola,

Busco codificar un pequeño script shell que, al ejecutarse, abrirá varios nuevos terminales que deberán ejecutar cada uno un comando para mostrar datos útiles para mi trabajo (de ahí la necesidad de mantener el terminal "padre" limpio). Sin embargo, no sé qué opción usar con xterm para darle un comando al terminal recién abierto. ¿Tienes alguna idea? ¿Es esto incluso posible? Gracias de antemano por tu tiempo, solo estoy comenzando con lo que es el shell.

Configuración: Linux / Chrome 20.0.1132.17

2 respuestas

Layn35
 
Hola,

man xterm

-e programa [ argumentos ... ]
especifica el programa (y sus argumentos de línea de comando) que debe ser lanzado en la ventana xterm. Esta opción también establece el título de la ventana y el nombre del icono al nombre base del programa en ejecución si ni -T ni -n son especificados en la línea de comando. Debe ser la última opción de la línea de comando xterm.

la opción -e seguida del nombre del comando a ejecutar lanzará este comando en la nueva ventana.

Puedes hacer algo como:

#!/bin/sh
xterm -e "comando 1" &
xterm -e "comando 2" &
xterm -e "comando 3" &
7
Julie
 
¡Muchas gracias, es exactamente lo que necesitaba! Debí pasar por alto esta opción al leer el manual sin comprenderlo, gracias por aclararlo.

Edit: Después de algunos intentos, me doy cuenta de que el terminal abierto solo sirve para ejecutar un programa y luego se cierra. En mi caso, debería permanecer abierto, ya que uno de los comandos a ejecutar es, por ejemplo:

cat /u/shared/$1/public/* | grep -n ERREUR

Así que necesito tener un retorno, lo cual no sucede aquí ya que el terminal se cierra una vez que se ejecuta el comando.
0
dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 659
 
hola
para dejar el xterm abierto:
xterm -e "comando; $SHELL" &
4
Julie
 
¡Gracias, ahora todo funciona como deseaba!
Problema resuelto.
0