Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: .:UND3R:. en 7 Noviembre 2013, 16:51 pm



Título: Duda con condición BASH
Publicado por: .:UND3R:. en 7 Noviembre 2013, 16:51 pm
Hola a todos, tengo el siguiente código:

Código
  1. if [[ "$TARGET" =~ "$REPLY" ]];then
  2. else
  3. arpspoof -i "$INTERFACE" -t "$REPLY" "$ROUTER_INET_IP" 2> /dev/null &
  4. arpspoof -i "$INTERFACE" -t "$ROUTER_INET_IP" "$REPLY" 2> /dev/null &
  5. TARGET=${TARGET}" "$REPLY
  6. echo "IP:$REPLY"
  7. let "COUNT += 1"
  8. fi

Cómo podría hacer para eliminar el else, entiendo que debo negar la condición, pero no lo logro:
Código
  1. !=~

o con

Código
  1. ]if [![ "$TARGET" =~ "$REPLY" ]];then

Saludos


Título: Re: Duda con condición BASH
Publicado por: -Myx- en 8 Noviembre 2013, 01:54 am
1-usar doble quotes (") no es necesario si usas "[["
2-Usa "!" asi: stackoverflow.com/questions/4542732/how-do-i-negate-a-test-with-regular-expressions-in-a-bash-script
Código
  1. if [[ ! $TARGET =~ $REPLY ]];then
3-tambien podrias usar ":" en el true del if sin cambiar nada mas del codigo
stackoverflow.com/questions/3224878/what-is-the-purpose-of-the-colon-gnu-bash-builtin


Título: Re: Duda con condición BASH
Publicado por: .:UND3R:. en 8 Noviembre 2013, 02:08 am
Me ha quedado todo muy claro, muchísimas gracias. Cierro el post, saludos