Je vous explique mon but est de creer un minishell en langage C. Je doit pour cela me servir des binaire existant dans /bin ainsi que de quelque builtins a faire , notament setenv et cd.
J' ai realiser tous ces builtins , je galere dans la fonction main, je ne sais pas comment gerer les different processus
avec le main ci dessou, je peu executer mes commande , cependant qd je fait setenv puis ensuit env, rien a change. Ma fonction setenv fonctionne pourtant. Pareil pour cd je fait cd, puis ls et je me rend compte que rien a changer, et enfin g une fonction exit qui affiche un message puis fait exit(1) le message apparait mais je ne quitte pas mon prg....
Quelqu'un peu m aider...
En esperant avoir ete assez comprehensible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 int main(void) { int nb_read; char buffer[BUFF_SIZE]; int pid; int statut; char **tab; tab = my_recup_path(); my_putstr("$> "); while ((nb_read = read(0, buffer, BUFF_SIZE))) { buffer[nb_read - 1] = '\0'; pid = fork(); if (pid) { wait(&statut); my_putstr("$> "); } else { execute_command(tab, buffer); exit(1); } } free(buffer); free(tab); return (0); }
Partager