Ce programme supposé écrira le numéro de descripteur de fichier que vous avez spécifié. considérez le programme Hello World suivant:
#include <stdio.h>
main()
{
ssize_t i = 0 ;
printf ("hello world\n") ;
i = write( 5 , "Bonjour Monde\n", 14 ) ;
printf ("%d octet dans 5\n", (int) i) ;
}
compilez-le
me@mybox:~/tmp7$ make hw
cc hw.c -o hw
maintenant une course simple
me@mybox:~/tmp7$ ./hw
hello world
-1 octet dans 5
pas de fichier pour 5, donc pas d'octet écrit.
essayez ensuite:
me@mybox:~/tmp7$ ./hw 5> u
hello world
14 octet dans 5
me@mybox:~/tmp7$ cat u
Bonjour Monde
J'arrive à obtenir une sortie tout en spécifiant un fichier et un descripteur de fichier (par exemple 5>u
).
En pratique, à moins d'avoir écrit un programme aussi amusant que ci-dessus, il est peu probable que vous collectiez des données à l'aide 5>foo
.
dans le script shell, les constructions utilisant <() sont plus utiles:
diff <( cmd -par 1 ) <(cmd -par 2)