← Back to team overview

sslug-teknik team mailing list archive

Re: bash scripting

 

René Mølsted wrote:
Hejsa


Ydermere skal brugeren af scriptet vælge ud fra en liste:
echo "Vælg et af nedenstående:
(1) Valg1
(2) Valg2
(3) Valg3"
read SVAR
if [ "$SVAR" = 1 ]; then
echo "Du har valgt 1"
elif [ "$SVAR" = 2 ]; then
echo Du har valgt 2"
elif [ "$SVAR" = 3 ]; then
echo "Du har valgt 3"
else
echo "Vælg venligst mellem 1, 2, 3 (Q for quit)"
fi

Mit problem er således, hvis der ikke bliver valgt 1, 2, eller 3 skal denne promt vises:
"Vælg venligst mellem 1, 2, 3 (Q for quit)"
hvor brugeren så skal foretage et valg.

Hvad med noget case i en while-løkke?

INIOK=0
while [ $INIOK -eq 0 ]
do
  echo "Vælg et af nedenstående:
  (1) Valg1
  (2) Valg2
  (3) Valg3"
  read VAR

  case $VAR in
     1)
        gør noget
        INIOK=1
        ;;
     2)
        gør noget andet
        INIOK=1
        ;;
     3)
        gør noget tredie
        INIOK=1
        ;;
     *)
        echo "TORSK! Du skal vælge 1, 2 eller 3"
        ;;
  esac
done

Ikke afprøvet, men det bør virke.

/kristian - med femte kop kaffe og kun lettere vågen

--



Follow ups

References