Frank Opper: goto ähnlicher befehl bei shellprogrammierung

Beitrag lesen

Hallo,

read test
 if test "$test" = "1" ;
 then
  echo bla...
 elif test "$test" = "2" ;
 then
  echo blub...
 else
  echo test...
 fi
read x

Das Problem ist, wenn die Eingabe weder 1 noch 2 ist soll er wieder zu der read test springen und nochmal den Wert einlesen, um die Prüfung zu wiederholen. Leider gibt es kein goto.
jemand ne andere Idee??

Endlosschleife drumherum und mit break verlassen, wenn Eingabe korrekt ist, sollte funktionieren. Also in etwas so (ohne Gewähr auf korrekte Syntax, da ich derzeit kein UNIX-System in der Nähe habe):

while [ true ]
do
 read test
   if test "$test" = "1" ;
   then
     echo bla...
     break
   elif test "$test" = "2" ;
   then
     echo blub...
     break
   else
     echo test...
   fi
done

read x

Viele Grüße
Frank