Mit der case-Anweisung kann man einen String Ausdruck
gegen mehrere Muster testen lassen. Die Kommandos, die zum ersten
passenden Muster gehören, werden dann ausgeführt:
case Ausdruck in
muster1) Kommando1
...
;;
muster2) AnderesKommando1
...
;;
...
esac
Jeder Block, der zu einem Muster gehört, muß mit doppelten Semikolon
;; abgeschlossen werden.
Als Muster kann man beliebige Strings verwenden, wobei * auf
beliebige Zeichen (auch auf keines) zutrifft, ? auf genau ein
Zeichen, und mehrere Muster mit einem | (für logisches ODER)
zusammengefaßt werden können.
for f in *
do
case $f in
*.c|*.cpp|*.h)
echo $f ist ein Quelltext.
;;
*.txt)
echo $f ist eine Textdatei.
;;
*) echo $f hat einen unbekannten Dateityp"
;;
esac
done