Eine Shell mit C programmieren, möglich?
-
Vielleicht klingt meine Frage für Profis in der Programmiersprache C ziemlich bekloppt aber ich kann mir diese Frage wirklich nicht beantworten.
Ich soll einen Shellemulator mit der Programmiersprache C implementieren.
Wenn sowas von mir verlangt wird, sollte dies auch möglich sein... doch ich habe Angst, dass ich als Anfänger etwas ziemlich falsch verstehe.Z.b habe ich mir einige Beiträge zu einer Shellprogrammierung angeschaut und jeder Beitrag begann mit:
#!/bin/sh
# Das ist ein KommentarAber ich habe jetzt gelernt, dass man in C anders anfängt:
bsp: /*name*/
#include ....Ich bin irgendwie total überfordert...
Ich hoffe irgendjemand kann mir da helfen und vllt zeigen, wie ich am besten anfangen kann eine Shell zu programmieren mit C und das in Linux.Danke im Voraus!!!
-
Musst du nun einen Interpreter für Shell Scripts implementieren oder eine Shell? Ich nehme an du musst eine Shell implementieren, die Commands wie
ls
,pwd
usw. ausführen kann.Kommt halt darauf an was die Shell alles können muss. Die simpelste Implementierung einer primitiven Shell (ohne Job Control, Pipes etc.) kann zum Beispiel so aussehen:
#include <stdio.h> #include <stdlib.h> #define MAX_LENGTH 256 int main(void) { char line[MAX_LENGTH]; while ( 1 ) { printf("$ "); if ( !fgets(line, MAX_LENGTH, stdin) ) break; system(line); } return 0; }
-
Asoooo!!!
Wirklich blöd von mir!
Also hat mich beim durchsuchen die Shell script durcheinander gebracht!Meine Shell muss sowas können wie das Datum ausgeben etc. aber nachdem ich jetzt weiß warum ich so durcheinander war, denke ich, dass mir der Rest eventuell einfacher fallen wird. Danke
-
lass mich raten, hhu düsseldorf, info2 ?
geteiltes leid ist halbes leid, kann c langsam nicht mehr sehen und kriege die verkackte ls funktion nicht hin. und grep habe ich auch noch nicht. gottseidank wurde der abgabetermin auf nächsten mittwoch verschoben ^^