Hallo und willkommen an Board!
Würde es sinnvoll sein die Befehle in einer Art Tabelle zu speichern und dann zu vergleichen oder wie würdet ihr die Befehle implementieren ?
Das ist auf jeden Fall eine sinnvolle Möglichkeit. Für manche Sachen wie cd, exit, set oder export ist das vermutlich auch die einzige Möglichkeit.
Unter Linux sind allerdings manche Sachen, die wie einfache Befehle aussehen, nicht in der Shell integriert sondern eigenständige Programme. Das bietet sich an, wenn die Komplexität der Befehle steigt, und man nicht den Code dafür in einem einzigen Programm haben will.
Wenn du in deiner Shell eine komplette Skriptsprache (if-Abfragen, Schleifen, etc.), dann musst du dafür einen Parser in der Shell implementieren.
Hätte noch eine weitere frage die Shell würde ja dann als normales Programm (Ring 3) implementiert werden. Wenn ich nach der Einsteigerreihe gehe über grub als Modul reinladen. Wenn ich das ganze jetzt auf Harddisk/LiveCD speichern und Ausführung möchte müsste ich Treiber / Dateisysteme für Harddisk / CD implementieren oder?
Wenn du auf der Festplatte oder der CD einen Multiboot-kompatiblen Bootloader hast, kannst du auch diese anweisen die Shell als Modul zu laden. Langfristig ist es aber sinnvoll die von der Festplatte zu laden und dafür brauchst du Treiber.