Rheinwerk Computing < openbook >
Rheinwerk Computing - Bücher zur Programmierung und Softwareentwicklung


Wie werde ich Unix-Guru
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Rheinwerk Computing / Openbook / "Wie werde ich UNIX-Guru ?"
« Rückgabewert von Programmen Ablaufsteuerung Die while-Schleife »

Die Fallunterscheidung: case

Die Fallunterscheidung ist eine Art gestaffeltes if. Der Inhalt einer Variablen wird untersucht und für jeden denkbaren Inhalt eine Aktion definiert. Eine Anwendung findet sich in den rc-Skripten, die beim Booten des Systems gestartet werden. Hier wird unterschieden, ob als Parameter die Worte »start« oder »stop« oder ein anderes Schlüsselwort übergeben wurde. Zwischen den Schlüsselworten case und in steht die Variable, deren Inhalt zur Unterscheidung führen soll. Ein Unterscheidungszweig beginnt mit einem Begriff, der bearbeitet werden soll. Diese Maske schließt mit einer rechten, runden Klammer und kann Platzhalter verwenden, wie sie bei der Namensauswahl durch die Shell üblich sind. Es folgen die Kommandos bis zu einem doppelten Semikolon, das das Ende eines Zweiges definiert. Die Fallunterscheidung endet mit dem Schlüsselwort esac.

case Variable in
Maske) Kommandos ;;
Maske) Kommandos ;;
*) Default-Kommandos ;;
esac

Das folgende Beispiel unterscheidet zwischen einfachen Begriffen. Es ist als der Grundbaustein eines deutsch-englischen Übersetzungsprogramms namens englisch gedacht. Wer mag, kann es ja erweitern.

[Intelligenter Übersetzer]
case "$1" in
     haus) echo "house" ;;
     auto)  echo "car" ;;
     kind)  echo "child" ;;
     *) echo "stuff" ;;
esac

Der Stern als letzte Maske dient dem Abfangen aller der Begriffe, die durch die davor stehenden nicht erfasst wurden. Als nächstes Beispiel wird ein Skript erstellt, der meinname heißen soll und Namen analysieren soll. Der Name wird dem Skript als Parameter mitgegeben. Damit wird die Verwendung von Masken gezeigt.

[Grüß-August]
case "
 $1" in
     [wW]illemer) echo "Verwandschaft!!!!" ;;
     A* | a*)  echo "Welch ein Name!" ;;
     *) echo "soso! Nett, Sie kennenzulernen" ;;
esac$
 

Die erste Zeile besagt, dass der erste Parameter untersucht wird. In der zweiten Zeile sehen Sie, dass das Skript in der Lage ist, den Namen Willemer zu erkennen. Dem Skript ist dabei gleich, ob das W klein oder groß geschrieben wird. In der nächsten Zeile werden Namen bearbeitet, die mit einem A anfangen. Der senkrechte Strich bedeutet ODER. Also ist es wieder egal, ob es ein kleines oder ein großes A ist. Der Stern allein ist der Default, wenn keines der bisherigen Muster gegriffen hat.



« Rückgabewert von Programmen | Ablaufsteuerung | Die while-Schleife »
 
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 UNIX/Linux

Ubuntu 14.04 LTS

Linux Handbuch

Linux-Server

Raspberry Pi

Ubuntu Server
 Shopping
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
Info



Copyright © Rheinwerk Verlag GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern