Bonjour,

Désolé en ce moment je pose une question par jour, mais vos réponses me permettent de bien progresser !

J'ai donc réalisé un petit shell, je suis entrain de débugger le ';'

Quand j'entre par exemple "ls ; ls" j'obtiens un message d'erreur que je n'avais jusqu'à présent jamais rencontre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
minishell1->ls ; ls

VOICI LE PATH: [/bin/ls]
VOICI LA COMMANDE: [ls]
Makefile        builtins        engine          includes        minishell       tools

VOICI LE PATH: [/bin/ls]
VOICI LA COMMANDE: [ls]
ls: fts_open: No such file or directory
Et le programme ne se coupe pas, je peux recommencer autant de fois que je veux, par contre, si je fais "cat Makefile ; ls" le "cat Makefile" va s'exécuter et le programme va couper sans rien dire.

Voici mon fichier execute.c
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
void            execute(char **envp, t_path path, t_data *moove)
{
  int           status;
  pid_t         pid;
 
  if (moove->cmd[0][0] == ';')
    builtin_coma(moove);
  my_putstr("\nVOICI LE PATH: [");
  my_putstr(path.path);
  my_putstr("]\n");
  my_putstr("VOICI LA COMMANDE: [");
  my_putstr(moove->cmd[0]);
  my_putstr("]\n");
  pid = fork();
  if (pid)
    wait(&status);
  else
    {
      execve(path.path, moove->cmd, envp);
      kill(pid, SIGINT);
    }
}
Si quelqu'un connait bien ce message d'erreur, merci de m'éclairer !