[LUGOS] goto in bash
Metod Kozelj
metod.kozelj at lugos.si
Wed Oct 22 14:29:54 CEST 2003
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.
--
Peace!
Mkx
---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
More information about the lugos-list
mailing list