Título: Crear variable en bash Publicado por: .:UND3R:. en 3 Abril 2011, 18:24 pm Bueno Hola a todos espero que estén bien, les cuento tengo un comando que útilizo en linux es más o menos así
xxxxxx 192.168.0.1 el problema surge que me gustaria para poder facilitar mi trabajo crear un variable más o menos así xxxxxx 192.168.0.X en donde X=son numeros desde el 1 hasta el 255 creo que es algo demasiado facil, pero no sé nada de .sh si pudieran tenderme solo esa mano se los agradeceria Muchas gracias :D Título: Re: Crear variable en bash Publicado por: leogtz en 3 Abril 2011, 20:25 pm Mira, te pongo de ejemplo el siguiente sencillo script.
Código
Y ahora, si queremos pasarle como parámetros los números del 1 al 254: Código
Código
Siendo shell.sh el script de arriba y $i la variable que le paso. Cualquier duda me dices y lo aclaramos más. Título: Re: Crear variable en bash Publicado por: .:UND3R:. en 3 Abril 2011, 21:07 pm Muchas gracias por tu rápida respuesta :)
1)todo bien pero sabes cuando lo ejecuto me sale solo argumento:1 hacia abajo y no cambia la variable 2)otra cosa que significa echo -e y si quiero lanzar un comando debe ir el echo con -e Muchas gracias :D Título: Re: Crear variable en bash Publicado por: leogtz en 3 Abril 2011, 23:46 pm Mejor pon el contenido del script que quieres ejecutar.
Título: Re: Crear variable en bash Publicado por: .:UND3R:. en 4 Abril 2011, 19:26 pm Citar Perfecto, 1ero que todo darte las gracias por que los demás moderadores no son así ;-) Bueno creo que el código que necesito podrá ser de ayuda para muchostu ayudas, no me sugieres google ni aprender a codear sin darme una solución xD el comando que necesito ejecutar es una herramienta del pack dsniff: el comando realiza un envenenamiento de ARP (man in the midle) pero seria mucho más comodo que el comando cubriera todas las conexiones por decirlo de un modo. el comando a seguir es: arpspoof -i interface -t ipdecliente ipdelrouter en mi caso sería así arpspoof -i wlan0 -t 192.168.0.102 192.168.0.1 el problema surge en que la ipdelcliente se puede enviar una sola, siendo lo ideal desde 2 hasta 255 (192.168.0.x) x=2 hasta 255 *al ejecutarse tal programa la consola en que se lanzó queda inutilizable, ya que está constantemente mostrandonos un msj en resumen que nos afirma que se está realizando tal comando, por lo que seria óptimo para su funcionamiento del script que se pudiera ejecutar tales ordenes en terminales distintas aunque por preferencia que fuera en solapas distintas Bueno de alguna manera te plasmo la idea para que me entiendas mejor, no se codear pero dejemos que mi idea es un esquema :D Citar x=2 PASO1 si x=255 ir a PASO2 ejecutar en una nueva consola este comando: arpspoof -i wlan0 -t 192.168.0.x 192.168.0.1 x=se le suma +1 del valor anterior de x ir a PASO1 PASO2 Terminar el script Con palabras: la idea es que se abra una consola nueva con este comando arpspoof -i wlan0 -t 192.168.0.x 192.168.0.1 en donde x parte como dos y luego tres,cuatro así sucesivamente hasta llegar hasta 255 luego de eso se termina el script ya no sabría como explicártelo :B espero que lo entiendas,disculpa por complicarte por no saber codear Gracias Título: Re: Crear variable en bash Publicado por: leogtz en 4 Abril 2011, 22:57 pm Mira, podríamos usar algo sencillito como esto:
Código y eso ejecutarlo en modo background para que no te deje indispuesta la consola. Código: [leo@archero Desktop]$ cat shell.sh bash shell.sh & Título: Re: Crear variable en bash Publicado por: D4RIO en 6 Abril 2011, 16:18 pm Hola bikutoru123, hola Leo:
AFAIK, el bucle 'for' que propones no es portable, aunque no creo que importe dependiendo el linux para el que se quiera. Incluso el comando seq no se haya en muchos Unixes. Pongo una alternativa para bucles que me ha funcionado en AIX 5.2 y con varios shells. No es nada raro, se trata de meter Perl: Código
Hasta se podría meter en una funcion seq() en los shells que no lo tienen. Saludos Título: Re: Crear variable en bash Publicado por: leogtz en 6 Abril 2011, 22:08 pm Sí, también puedes usar la solución de xD4RIOx, su equivalente en bash es:
Código
Título: Re: Crear variable en bash Publicado por: .:UND3R:. en 9 Abril 2011, 18:15 pm Excelente, me funcionó a la perfección, pondré una entrada del arpspoff en mi blog dandole poniendo sus créditos obviamente, excelente amigos sigan así
PD: me quedó una pequeña duda... para ejecutarlo en modo background es agregandole el símbolo $ EJ: Bash shell.sh $ En fin es Muchas gracias :D Título: Re: Crear variable en bash Publicado por: leogtz en 9 Abril 2011, 18:41 pm No, el símbolo es &.
Título: Re: Crear variable en bash Publicado por: D4RIO en 10 Abril 2011, 06:34 am O bien mediante cron, o con: echo "script.sh" | at now
Título: Re: Crear variable en bash Publicado por: .:UND3R:. en 14 Abril 2011, 00:29 am Nuevo problema, disculpen de nuevo pero viendo bien creo que la variable no pasa del 2 osea solo queda ahí :c creo que debe ser por que el comando cuando se digita está constantemente realizando la operación.... modifique el comando por echo y me arrojó todos los números de 2 a 255 por lo que su comando funciona a la perfección el problema es que da conflictos con ese comando :c
ayuda Saludos y gracias por sus respuestas Título: Re: Crear variable en bash Publicado por: D4RIO en 14 Abril 2011, 12:44 pm Recuerda que los estás poniendo a funcionar en el BG, ¿cuál es tu fundamento para decir que no pasa de 2? ¿cómo te diste cuenta?
|