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


'Wie werde ich Unix-Guru' als Buch bestellen
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

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Die Fallunterscheidung: case Ablaufsteuerung Die for-Schleife »

Die while-Schleife

Schleifen ermöglichen es, Abläufe zu beschreiben, die sich wiederholen. Damit ein definiertes Ende stattfindet, läuft die Schleife nur so lange, wie eine Bedingung eingehalten wird. Diese Bedingung sollte sorgfältig gewählt werden, sonst kommt es zur gefürchteten Endlosschleife. Das bedeutet, dass das Programm bis zum nächsten Stromausfall läuft.

while Bedingung
do
Befehle
done

Als Beispiel für eine solche Schleife sollen alle Parameter darauf überprüft werden, ob sie mit einem Minuszeichen beginnen. Dann sollen sie als Option gelten. Ansonsten handelt es sich um ein Argument. Für diese Aufgabe werden nun zwei Ablaufsteuerungen ineinander verschachtelt. Da eigentlich nur ein Abfragefall existiert, würde man zunächst an die if Bedingung denken. In diesem Fall macht man sich aber die Fähigkeit des case zunutze, Muster zu erkennen.

[Optionserkennung]
while test -n "$1"
do
    case 
 $1 in
        -*) echo "Option:$
 1" ;;
        *) echo "Argument: 
 $1" ;;
    esac
    shift # schiebt die Parameter einen weiter
done$
 

Es wird immer der erste Parameter abgefragt. In der Schleife befindet sich aber der Befehl shift. Dieser schiebt die Übergabeparameter durch. Der erste Parameter verschwindet und alle anderen rücken einen nach. Irgendwann wird so der erste Parameter leer. Zur Veranschaulichung zeigt die folgende Tabelle die Variablen $1 bis $5. Jede neue Zeile zeigt die Parameter nach einem weiteren shift.

[Parameter und shift]L|L|L|L|L $1 & $2 & $3 & $4 & $5
anton & berta & caesar & dora & emil
berta & caesar & dora & emil &
caesar & dora & emil & &
dora & emil & & &
emil & & & &
& & & &

In der Bedingung der Schleife ist die Variable in Anführungszeichen gesetzt. Dadurch wird verhindert, dass ein Aufruf ohne Parameter zu einem Fehler führt. Beim case können sie weggelassen werden, da diese Position nie erreicht wird, wenn im ersten Parameter nichts steht.

Schleifen können durch das Kommando break unterbrochen werden. Dieser Befehl steht typischerweise hinter einer if-Konstruktion. Allerdings kann dieser Befehl leicht zu etwas undurchsichtigem Code führen. Besser ist es, die vollständige Bedingung für das Durchlaufen einer Schleife direkt hinter dem while zu formulieren. In die gleiche Kategorie gehört der Befehl continue, der dazu führt, dass der Rest des Schleifenkörpers nicht ausgeführt wird, sondern sofort zur Abfrage am Kopf gesprungen wird.



« Die Fallunterscheidung: case | Ablaufsteuerung | Die for-Schleife »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press 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.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de