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
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