2013-08-22 3 views
0

sh скрипт должен работать, пока размер файла = 0 (я проверил вручную со статусом, если он не загружает файл, значение «0»), но это не остановилось, поэтому я добавил «Если» заявление с перерывом, все равно не работает, как я могу его сломать? Пожалуйста помоги.sh shell script не может сломать цикл

Примечание: могут быть другие способы загрузки firefox автоматически, но я помещаю здесь firefox как легкий пример.

n=0 
mm=22 

while [ $n -eq 0 ]; do 
    for a in $mm 
    do 
    for b in 0 1 2 3 4 5 6 7 8 9 
    do 
     for c in "" ".1" ".2" 
     do 
     wget -O ff.exe http://download.cdn.mozilla.net/pub/firefox/releases/latest/win32/ru/Firefox%20Setup%20$a.$b$c.exe 
     n=$(stat -c %s ff.exe) 
     echo "n = $n" 
     if [ $n -ne 0 ]; then 
      echo "n2 = $n" 
      break 
     fi 
     done 
    done 
    mm=$(($mm + 1)) 
    done 
done 

Хорошо, я понял это:

n=0 
mm=22 

while [ $n -eq 0 ]; do 
    for a in $mm 
    do 
    for b in 1 2 0 3 4 5 6 7 8 9 
    do 
     if [ $n -ne 0 ]; then 
    break 
     fi 
     for c in "" ".1" ".2" 
     do 
    wget -O ff.exe http://download.cdn.mozilla.net/pub/firefox/releases/latest/win32/ru/Firefox%20Setup%20$a.0$c.exe 
    n=$(stat -c %s ff.exe) 
     if [ $n -ne 0 ]; then 
     break 
     fi 
     done 
    done 
    mm=$(($mm + 1)) 
    done 
done 
+0

В чем вопрос? Вы говорите, что 'break' должен заставить скрипт выйти? – devnull

ответ

1

Вы просто разорвать внутреннюю наиболее for петлю, если вы пытаетесь выйти из сценария в тот момент, может быть, вы должны использовать exit?

Смежные вопросы