1.
Schritt:
Die Shell sh4us kann von der
Standard-Eingabe einfache Kommandos ohne Parameter einlesen und ausführen.
Während des Abarbeitens „schläft“ sh4us.
Danach fordert sie mit einem Prompter erneut zur Eingabe auf.
2.
Schritt:
Die Shell sh4us erkennt die ihr beim
Aufruf übergebene Option "-c" mit einem Parameter
"Kommando" und führt dann nur dieses eine Kommando (per exec
aufgerufen) aus; sie beendet sich danach sofort wieder. Das sollten Sie ohne
großen Aufwand in ihre erste Version einbauen können.
3.
Schritt
(optional): Die Shell sh4us meldet
sich nicht mit ihrem normalen Prompter wenn sie die Variable SH4USPROMPT lesen kann, sondern mit dem
dort angegebenen String. Dazu müssen Sie sich anschauen, wie die
Umgebungsvariablen verarbeitet werden. Dazu schlage ich Herrn Willemers
Buchauszug www.willemer.de/informatik/unix/unprmain.htm vor.
4.
Schritt:
Die Shell sh4us wertet die ihr beim
Aufruf übergebene Option -h (für Hintergrundarbeit) aus und startet die
interaktiv eingegebenen Kommandos jeweils ohne dann auf ihre Beendigung zu
warten, sofort danach erscheint wieder der Prompter.
5.
Schritt:
Die Shell sh4us analysiert jetzt
genauer die interaktiv eingegebene Kommandozeile. Als Erstes könnte sie ein
Semikolon in der Kommandozeile erkennen und somit zwei Prozesse starten.
6.
Schritt:
Die Shell sh4us wird in der Version Schritt 2) und dann auch
in Version Schritt 5) erweitert, so dass sie nicht nur einfache Kommandos,
sondern auch Kommandos mit Parametern/Optionen aufrufen kann.
7.
Schritt:
Die Shell sh4us aus dem Schritt 5) wird so verändert, dass
statt des Semikolons (oder auch zusätzlich) ein Pipe-Symbol erkannt und korrekt
behandelt wird (das können Sie auch mit popen() realisieren.
to be continued