Hirdetés

Új hozzászólás Aktív témák

  • Headless
    őstag

    Szerintem az most bonyolultabbra jönne ki, mivel kétszer kellene ellenőrizni a méretet vagy az elején is lenne várakozás.

    size=0
    while [ $size -lt 40894464 -o $size -gt 45088768 ]
    do
    # letoltes
    # ...
    size=$(stat -c \%s foo)
    if [ $size -lt 40894464 -o $size -gt 45088768 ]
    then
    # hiba, varj 10 percet
    sleep 10m
    fi
    done
    # csinald meg amit kell
    # ...

    Vagy

    first=1
    size=0
    while [ $size -lt 40894464 -o $size -gt 45088768 ]
    do
    if [ $first -eq 0 ]
    then
    # hiba, varj 10 percet
    sleep 10m
    fi
    first=0
    # letoltes
    # ...
    size=$(stat -c \%s foo)
    done
    # csinald meg amit kell
    # ...

    Vagy a letöltést lehet duplikálni:

    # letoltes
    # ...
    size=$(stat -c \%s foo)
    while [ $size -lt 40894464 -o $size -gt 45088768 ]
    do
    # hiba, varj 10 percet
    sleep 10m
    size=$(stat -c \%s foo)
    # letoltes
    # ...
    size=$(stat -c \%s foo)
    done
    # csinald meg amit kell
    # ...

    Szerintem ezek rondábbak. Más ötlet?

    Egy ilyesmi esetleg?

    #csinálj amit akarsz
    while [ ! "$size" ] || [ $size -lt 40894464 -o $size -gt 45088768 ];do
    #Letöltés
    size=$(stat -c \%s foo)
    [ $size -lt 40894464 -o $size -gt 45088768 ] && sleep 10m
    done
    #csinálj amit akarsz

    Így az első esetben amíg nincs definiálva a size értéke, akkor belép a ciklusba utána pedig mindig a második feltétel lesz az érvényes, mert az első hamis lesz.

Új hozzászólás Aktív témák