case

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.

Beispiel 21   Für alle Dateien im aktuellen Verzeichnis wird versucht, den Dateityp zu erraten:
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



AnyWare@Wachtler.de