Logo


Kurs programowania w Bash'u

Nowości       Porady       Księga      

Instrukcja wyboru Case

Składnia case wygląda następująco

case $nazwa_zmiennej in
"wzorzec1") polecenie1 ;;
"wzorzec2") polecenie2 ;;
.
.
.
*)polecenie
esac

Prosty przykład menu zbudowanego za pomocą case:

#!/bin/bash

echo "Wybierz opcje"
echo "1) Opcja-1"
echo "2) Opcja-2"
echo "3) Opcja-3"

read wybor

case $wybor in
1) echo "Wybrales 1";;
2) echo "Wybrales 2";;
3) echo "Wybrales 3";;
*) echo "Wybrales nieznana opcje" ;;
esac

Skrypt pyta o hasło i sprawdza czy jest poprawne
wersja z uzyciem petli while i instrukcji case

#!/bin/bash
while [ 1 ]
do
echo "Podaj haslo dostepu, q - wychodzi ze skryptu"
echo -n "Haslo: "
read haslo

case $haslo in
"admin") echo "Hasło poprawne, witaj adminie" ; break ;;
"student") echo "Hasło poprawne, witaj studencie" ; break ;;
"q") echo "Wyjscie" ; exit ;;
*)continue ;;
esac
done

Dzięki użyciu instrukcji case kod jest bardziej przejrzysty, poza tym teraz łatwo można przyporządkować każdej osobie opowiednie polecenia (oddzielamy je średnikami).

Skrypt pokazujący dialog z użytkownikiem:

#!/bin/bash

powitanie="Dzien dobry"
pan="Panu"
pani="Pani"

echo "Czy jestes mezczyzna? (T/N)"
read plec

case $plec in
t) echo "$powitanie $pan";;
T) echo "$powitanie $pan";;

n) echo "$powitanie $pani";;
N) echo "$powitanie $pani";;

*) echo "Niezrozumiala odpowiedz" ;;
esac

Taki sam skrypt napisany z użyciem warunków:

#!/bin/bash

powitanie="Dzien dobry"
pan="Panu"
pani="Pani"

echo "Czy jestes mezczyzna? (T/N)"
read plec

if [ "$plec" = "t" ] || [ "$plec" = "T" ]
then
echo "$powitanie $pan"

elif [ "$plec" = "n" ] || [ "$plec" = "N" ]
then
echo "$powitanie $pani"
else
echo "Niezrozumiala odpowiedz"
fi

Ostatnio dodano

O stronie

Stronę najlepiej oglądać w rozdzielczości 1024x768. Strona optymalizowana dla przeglądarki Mozilla.

Prośba

Jeśli chciałbyś coś zmienić lub uważasz że czegoś brakuje pisz. Odpiszę na każdy list.

Subskrypcja

Jeśli chcesz być informowany o nowościach na stronie wpisz tu swój e-mail i kliknij Wyślij.

O mnie

O autorze
Autorem kursu jest Mariusz Majerowski
Ostatnia aktualizacja: 23 VI 2004.