Übungen zu ``Shellprogrammierung''


Sommersemester 97

Blatt 1 vom: 20. April 97
letzter Abgabetermin: 27. April 97

Aufgabe 1 (0 Punkte)

Melden Sie sich auf einem der Openstep-Rechner in den Räumen 435, 433 oder 145/146 im AVZ an. Ihren login-Namen können Sie dem Aushang an der Tür zu 435 entnehmen.

Geben Sie sich mit yppasswd ein vernünftiges Paßwort.

Aufgabe 2 (0 Punkte)

Senden Sie dem Benutzer bernd eine Mail, wenn Sie an den Testaten teilnehmen möchten.

Die Mail muß bis zum Mittwoch (22. April 97), 10:00 Uhr abgesendet worden sein!

Aufgabe 3 (1 Punkt)

Senden Sie Ihrem Tutor per Mail die Manualseite über die ASCII-Tabelle.

Was bewirkt ``~h'', ``~v'' und ``~s'' in:

isolde bernd 32 mail bischof
Subject: test
~h
~v
~s

Aufgabe 4 (2 Punkte)

Machen Sie sich mit dem Programm simple_shell.c aus der Vorlesung vertraut.

Was passiert bei der Eingabe von date und was bei /bin/date? Wieso funktioniert date in einer ``normalen'' Shell?

Darf das einzugebene Kommando beliebig lang sein?

Was machen fork(), wait() und execl()? Wann enden execl() und wait()?

Aufgabe 5 (2 Punkte)

Beantworten Sie folgende Fragen:

Aufgabe 6 (2 Punkte)

Nehmen wir an, Sie tippen folgendes ein:

isolde bernd 32 sh
% stty erase t
% exit
isolde bernd 33 s

Was bedeutet stty erase t? Welche Probleme tauchen beim Tippen des Worts exit auf? Wie werden diese gelöst? Wie tippen Sie in der sh stty erase ^h ein? Was passiert, wenn Sie nach dem ``s'' ein ``t'' eintippen würden? Warum?

Aufgabe 7 (1 Punkt)

Was passiert, wenn Sie folgende Zeilen eingeben:

isolde bernd 5 sh
$ sleep 10; dd bs=1024 count=1
hello world!
date

Erklären Sie den Sachverhalt unter Verwendung von raw queue und cooked queue.

Aufgabe 8 (2 Punkte)

a)
Wozu dient die Datei .rhosts in dem Heimatverzeichnis eines Benutzers? Haben Sie bei der Benutzung dieser Datei Sicherheitsbedenken?
b)
Wozu dienen in der Bourne Shell die Variablen PS1 und PS2? Belegen Sie beide Variablen im Testat mit neuen Werten, und führen Sie Ihrem Tutor die Auswirkungen vor.