[LUGOS] goto in bash

Gregor Gorjanc gregor at mrcina.bfro.uni-lj.si
Wed Oct 22 14:44:38 CEST 2003


Hvala za tole.

On Wednesday 22 October 2003 14:29, Metod Kozelj wrote:
> Howdy!
>
> Gregor Gorjanc wrote:
> >Rabim za nekaj podobnega temu
> >
> >    echo " Input (a/b/c)? "
> >    read TERM
> >    if [ "${TERM}" = "a" ]; then
> >       "do something"
> >    elif [ "${TERM}" = "b" ]; then
> >       "do something"
> >       goto "vrstica 10"
> >    else
> >       "do something"
> >    fi
>
> Še vedno ne vem, kaj je tako posebnega na tej "vrstica 10". Kam skoči?
> Na vrstico z "echo"? Mislim si, da bi ti tale 'goto' rad uporabljal za
> flow-control. Za te potrebe vedno lahko uporabiš konstrukte 'while ...
> do; ....; done'. Če bi ti torej rad naredil skripto, ki bi v primeru
> vnosa 'b' ponovno zahtevala vnos, sicer pa ne, lahko to narediš takole:
>
> REPEAT=true
> while ${REPEAT}; do
>     echo " Input (a/b/c)? "
>     read TERM
>     REPEAT=false
>     if [ "${TERM}" = "a" ]; then
>         "do something"
>     elif [ "${TERM}" = "b" ]; then
>         "do something"
>         REPEAT=true
>     else
>         "do something"
>     fi
> done
>
> Sicer bi se jaz tvojega primera lotil s 'case' namesto z if/elif/else.

-- 
Lep pozdrav,
		Gregor GORJANC



More information about the lugos-list mailing list