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