( uid_194 | 2010. 11. 24., sze – 00:39 )

Hat ezt sem lattam meg ilyen bonyolultan megvalositva. Egyebkent amit stra mondott, az lesz a megoldasod.

De ha nem haragszol, adnek par tippet, mert borzasztoan nez ki a kodod, es nem csak azert mert hianyzik a formazas itt hupon:

1) shell functionnek lehet parametert adni, akkor nem kell kornyezeti valtozokkal szorakozni, es maris szebben nez ki igy:


HH=$(number_control 1 12 ${HH})

2) regexpek erre a celra agyuval verebre. shell glob is megteszi:

Pl:


case ${HH} in
  [01][0-9]|2[0-4])
    echo 00-24
    ;;
  *)
    # itt akkor most hiba van. ouch.
    ;;
esac

Szerintem ez egyszerubb & attekinthetobb mint a regexpes moka.

3) Hibat en rogton akkor dobnek amikor felmerul. Akkor nem kell error_level dologgal szorakozni (amit nem teljesen ertek, mert nem is olvastam el mit csinal :P), hanem rogton hanyatt veti magat a program es bevallja, hogy hat itt biza gond van. Megpedig ez-meg-ez.

Szvsz baratsagosabb. Es atlathatobb is, mert a hiba rogton ott jelentkezik, ahol elojon, nem valamikor kesobb.

Elso olvasatra ennyi bokte a csorom. :P