2013-08-22 3 views
0

sh 스크립트는 파일 크기 = 0 인 동안 작동해야합니다 (파일을 다운로드하지 않으면 stat로 수동으로 검사 할 때 값이 "0"임). 그러나 멈추지 않아 추가되었습니다. "if"break가있는 문장이 여전히 작동하지 않습니다. 어떻게 해결할 수 있습니까? 도와주세요.sh 쉘 스크립트는 루프를 깨뜨릴 수 없습니다

참고 : 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

무엇이 문제입니까? '중단 '으로 인해 스크립트가 종료되어야한다고 말하는 것입니까? – devnull

답변

1

당신이 그 시점에서 스크립트를 종료하려는 경우 당신은 어쩌면 단지 당신이 exit를 사용한다, 가장 안쪽 for 루프를 깨고있다?