wget no se detiene

Cuando bash download páginas con wget -r usando un bucle for funciona bien, pero cuando lo bash con -e robots=off no se detiene en ese límite que configuré para el bucle "for", aquí está mi código

 #!/bin/bash lynx --dump https://en.wikipedia.org/wiki/Cloud_computing |awk '/http/{print $2}'| grep https://en. | grep -v '.svg\|.png\|.jpg\|.pdf\|.JPG\|.php' >Pages.txt grep -vwE "(http://www.enterprisecioforum.com/en/blogs/gabriellowy/value-data-platform-service-dpaas)" Pages.txt > newpage.txt rm Pages.txt egrep -v "#|$^" newpage.txt>try.txt awk '!a[$0]++' try.txt>new.txt rm newpage.txt rm try.txt mkdir -p htmlpagesnew cd htmlpagesnew j=0 for i in $( cat ../new.txt ); do if [ $j -lt 10 ]; then let j=j+1; echo $j wget -N -nd -r -e robots=off --wait=.25 $i ; fi done find * -name "*" -exec md5sum '{}' + | perl -ane '$k{$F[0]}++; system("rm \"@F[1 .. $#F]\"") if $k{$F[0]}>1' find * -name '*.[[:digit:]]' -exec rm {} + rm *[0-9] find -type f |sed 's,\(.*\)/\(.*\)$,\1/\2\t\1/\L\2,'|sort|uniq -D -f 1|cut -f 1|xargs rm ls |wc -l echo "done" 

Su bucle for está bien (excepto que podría escribirse de manera más eficiente usando break cuando $j -ge 10 , para que no continúe iterando a través de los elementos restantes.

El problema es que esperas que wget ... -r busque solo un file por iteración. Así no es cómo funciona; el ciclo solo count el número de invocaciones de wget ... -r y cada invocación puede download un número ilimitado de files.

El -e robots=off no está relacionado, excepto que el uso de robots.txt puede dar como resultado detener la recursión mucho más rápido si muchos de los files están realmente bloqueados para los rastreadores.

Realmente no se supone que uses -e robots=off . Dependiendo de su jurisdicción, podría haber consecuencias legales al hacerlo (estoy de acuerdo en que esto es una mierda, el robo debería ser legal, pero esa es la situación en este momento).