Comando shell para abrir un terminal que ejecute un comando.
Resuelto
Julie
-
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
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
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" &
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" &
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.