Вывод wget
отправляется в stderr, включая ошибку 404
.
Вы можете проверить, содержит ли строка вывода 404 Not Found
, и затем выйти из самого внутреннего цикла:
#!/bin/bash
for i in {1..50}; do
for k in {1..100}; do
ret=$(wget http://www.magga.com/files?cat=${i}&id=${k} 2>&1)
if [[ "$ret" =~ 404\ Not\ Found ]]; then
break # exit from current "k" loop and continues with next "i"
fi
done
done
Надеюсь, это поможет.