Bonjour,
J'ai besoin de votre aide car pour mon minishell je dois vérifier si l'option "&" a été mise ou non. Sachant que les commandes tapée son récupéré dans un tableau a 2 dimension (char *cmds[MAXCMDS][MAXARGS]) et qu'elles sont de type : commande 1 | commande2 argument1 &
Voila le code que j'ai fait :
La commande que j'utilise pour tester est : ls -1 | wc -lCode:for(i=1; i< 5; i++) { if(cmds[1][i] != NULL) { if ((strcmp(cmds[1][i],"&"))==0) { printf(" un & a été entrée position %d",i); } } }
Quand je tape :
Ca marche il m'affiche bien le message, mais quand je met:Code:ls -1 | wc -l & &
Ca ne marche plus, de plus quand j'affiche le contenu de cmds[1][2] et que je tape:Code:ls -1 | wc -l &
Il m'affiche Null, mais quand je tape :Code:ls -1 | wc -l &
Il m'affiche bien le &Code:ls -1 | wc -l & &
Avez vous une idée sur ce qui pourrait me permettre de résoudre ce probléme?
Merci d'avance
-----