Salut
j'ecrit un prog qui "simule" le shell ce n'est pas de la vrai simulation ,car le programme lit la commande puis demande au shell de l'executer;
pour executer un commande du type cmd1|cmd2|cmd3|....|cmdN je fait comme suit
apres la decompostion de la commande j'ai en nb le nombre de commande a executer
et les commandes sont dans un tableau par Example Tab
p=fork();
switch(p)
{
case 0:
FILE *fd;
for(int i=0;i<nb;i++)
{
if(i==0) fd=popen(Tab[i],"w");
else
fd=fopen(Tab[i],"r");
};
case 1:
.
.
.
case -1: erreur
si j'execute la commande ls -la | less
le resultat de ls -la s'affiche mais un message d'erruer me dit:
less -- help for help; No such a file or directory
le problemme est comment passer les resultats de la 1er pour qu'elle siot executer par la suivante sont cree de fichier intermidiaires