Bonjour!
Je cherche à savoir comment recréer la commande > en unix.
C'est dans le cas d'une fonction commande appelée par une main qui exécute les commandes en fonction des délimiteurs "&;<>|".
Ces délimiteurs sont différenciés par une fonction parsing qui renvoit un chiffre en fonction du délimiteur et remplit un tableau avec la commande
Nous traitons ici le cas 4, la redirection >
Pourquoi doit on fermer deux fois l'écran (la sortie standard) Ca me fait une erreur sinon...
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 case 4: // > close(1); // on ferme l'écran int fichierSortie = open(respP[0],O_CREAT|O_RDWR|O_TRUNC,0,640);// pourquoi on ouvre le tableau? if(pid>0){ close(1); printf("Dauphine>"); fflush(stdout); } else { close(1);// on ferme l'écran dup(fichierSortie); execvp(respP[0],respP); } break; }
Partager