Esse suposto programa gravará no número do descritor de arquivo que você especificou. considere o seguinte programa hello world:
#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) ;
}
compile
me@mybox:~/tmp7$ make hw
cc hw.c -o hw
agora uma corrida simples
me@mybox:~/tmp7$ ./hw
hello world
-1 octet dans 5
nenhum arquivo para 5, então nenhum byte escreveu.
próxima tentativa:
me@mybox:~/tmp7$ ./hw 5> u
hello world
14 octet dans 5
me@mybox:~/tmp7$ cat u
Bonjour Monde
Consigo obter uma saída ao especificar um arquivo e um descritor de arquivo (por exemplo 5>u
).
Na prática, a menos que você tenha escrito um programa engraçado como o descrito acima, é improvável que você colete dados usando 5>foo
.
no script shell, construir usando <() é mais útil:
diff <( cmd -par 1 ) <(cmd -par 2)