Dies ist ein Projekt für das Fach Betriebssysteme im zweiten Jahr der Informatik an der Universidad De A Coruña. Alle Aufgaben befinden sich im Ordner labAssignments mit Beschreibungen für jede Funktion.
Das Programm besteht aus einer Shell, die der von Bash und ZSH ähnelt, mit einigen enthaltenen Funktionen und der Möglichkeit, jeden anderen Befehl auf dem *nix-System auszuführen.
Sie können eine Liste aller enthaltenen Funktionen erhalten, indem Sie den Befehl „ ayuda “ ausführen, und eine kurze Beschreibung jeder einzelnen Funktion, indem Sie den Befehl „ ayuda command “ ausführen. Dabei handelt es sich um den Befehl, den Sie kennen möchten. Sie können auch jeden anderen in Ihrem System installierten Befehl wie in jeder anderen Shell ausführen, solange der Name nicht mit den enthaltenen Befehlen in Konflikt steht. Um die Shell zu verlassen, können Sie salir , fin , bye oder exit ausführen
Sie müssen gcc in einem *nix-Betriebssystem wie Linux BSD oder MacOS installiert haben. Sie können es kompilieren mit:
make
Und führen Sie es aus mit:
./shell
Unser Code ist in verschiedene Dateien unterteilt, um die Arbeit und das Verständnis zu erleichtern.
Enthält die Hauptfunktion sowie die Eingabeaufforderungs- und Verarbeitungsfunktionen.
Enthält alle Header für jede Funktion mit Ausnahme der listenspezifischen mit einer kurzen Beschreibung. Schließen Sie alle Bibliotheken ein, die wir verwenden. Definiert Strukturen und Datentypen, die im Code verwendet werden.
Wir haben uns dafür entschieden, nur eine Implementierung einer Liste zu verwenden, um verschiedene Arten von Werten zu speichern, die zum Zeitpunkt der Erstellung angegeben werden. Sie können die Erstellung dieser Listen in der Hauptfunktion in p4.c überprüfen.
Enthält die Liste der Befehle und deren Grundfunktionen, obwohl die meisten von ihnen auf Hilfsfunktionen angewiesen sind.
Enthält alle anderen Funktionen, die nicht in die vorherigen Kategorien passen. Wir haben uns entschieden, einen großen Teil des Codes in commands.c zu trennen, um die Navigation zu erleichtern.