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
|
| |
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.
| |
|
|
Ihre Meinung? |
|
|
|
|
| |
| |
Shopping |
|
Versandkostenfrei bestellen in Deutschland und Österreich Info
|
|
| |
| |
|