Übungen zu ``Shellprogrammierung''


Sommersemester 97

Blatt 5 vom: 26.5.97
letzter Abgabetermin: 2.6.97 (vor 10.00 Uhr)

Aufgabe 1 (2 Punkte)

Schreiben Sie ein Shell-Skript, welches die 5 häufigsten Vor- und Nachnamen der Benutzer ausgibt. Erklären Sie Ihrem Tutor die verwendeten Kommandos.

Aufgabe 2 (2 Punkte)

Schreiben Sie ein Shell-Skript, das die Mitglieder einer Benutzergruppe sortiert ausgibt. Die Sortierung soll durch den Vornamen des Benutzers festgelegt werden, und bei Benutzern mit identischem Vornamen soll die Reihenfolge innerhalb dieses Blocks durch die uid festgelegt werden. Die Ausgabe soll in der Zeile sortiert sein. Ein Ablauf Ihres Skriptes könnte folgendermaßen aussehen:

lyra Loesung 92 members sths
Mitglieder der Gruppe sths (gid = 31)
======================================

Adrian Holzwarth        Albert Wirp             Alexander Bograd
Andre Schnaeker         Andreas Deterding       Andreas Mueller
Andreas Beyer           Andreas Bachmann        Anja Broeker
...

Ihr Skript darf nicht mit der gid, sondern nur mit dem Gruppennamen aktiviert werden. Testen Sie Ihr Skript ausgiebig.

Aufgabe 3 (1 Punkt)

Geben Sie alle Wörter aus der Datei '/home/sp/Blatt/Blatt5/Src/Der Friede zu Osnabrueck' nach der Häufigkeit ihres Auftretens sortiert aus. Erklären Sie Ihrem Tutor die verwendeten Kommandos.

Aufgabe 4 (2 Punkte)

Schreiben Sie ein Shell-Skript, das alle Dateien in einem Teilbaum mit compress komprimiert. Beachten Sie mögliche Fehlerquellen. Testen Sie Ihr Skript ausgiebig.

Aufgabe 5 (1 Punkt)

Erklären Sie Ihrem Tutor folgenden Sachverhalt:

lyra Src 26 cat << end
> Hello World
> end
Hello World
lyra Src 27 cat << '$PATH'
> Hello world
> $PATH
Hello world

Welche Konsequenz hätte es, wenn im Beispiel der Text $PATH nicht durch einfache Hochkommas eingeschlossen wäre?

Aufgabe 6 (2 Punkte)

Schreiben Sie eine eigene Manual-Seite zu einem Ihrer Shell-Skripte zu Aufgabe zwei oder vier von diesem Aufgabenblatt. Gehen Sie dazu, wie in den Übungen besprochen oder wie im "Kernighan/Pike: Der UNIX-Werkzeugkasten" in Kapitel 9 beschrieben, vor.

Die Manual-Seite sollte auf jeden Fall die Überschrift und die Abschnitte NAME, SYNOPSIS und DESCRIPTION enthalten.