Προς το περιεχόμενο

Shell στην C


MauriDalia

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας,

Θέλω σε γλώσσα προγραμματισμου C , να φτίαξω ένα υποτυπώδες shell κελυφος προγραμματισμου.

 

Χρησιμοποιώ τον παρακάτω κώδικα

 

>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[], char *envp[])
{
char c = '\0';
printf("\n[MY_SHELL ] ");
while(c != EOF) {
	c = getchar();
	if(c == '\n')
		printf("[MY_SHELL ] ");
}
printf("\n");
return 0;
}

 

Μηπώς γνωρίζει κάποιος ,πως μπορώ να ενεργοποιήσω το Shell για να μπορω να τρχω εκέι εντολές?ΠΧ να τρέχω εντολές τύπου ls που θα έχω υλοποιήσει μόνη μου

 

Ευχαριστω :-)

Δημοσ.
Πάντος κοίταξε μία το ncurses .

όχι, μη κοιτάξεις το ncurses...η εργασία σου λογικά είναι στα πλαίσια του μαθήματος "Προγραμματισμός Συστήματος" και πρέπει να χρησιμοποιήσεις fork() και exec() μόνο...

Δημοσ.

@MauriDalia

Η χρήση της int main(int argc, char *argv[], char *envp[]) ειναι λάθος

καθώς σύμφωνα με την ISO C το πρότυπο της main() είναι

int main (int argc, const char *argv[])...

όσον αφορά το char *envp[] οι μεταβλητές περιβάλλοντος πρέπει να τις χειριζόμαστε με getenv(), setenv() και τα συναφή, κάνοντας βέβαια χρήση της extern char **environ(ορίζονται από το POSIX.1)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...