pouvons-nous attribuer à n'importe quel fichier un numéro de descripteur de fichier en réalité? p>
3 Réponses :
Oui, vous pouvez. Mais il appartient au programme en question si cela fait quelque chose avec elle.
$ cat fd_in.c
int main()
{
unsigned char buf[16];
write(5,buf,read(6,buf,16));
}
$ gcc fd_in.c
$ ./a.out 6< file 5>&1
test
Comme vous avez marqué cela avec Bash, voir Advancedbash pour les bases .
La section ci-dessous de ce lien (exemple 20-2) a le suivant P>
LOGFILE=logfile.txt
exec 6>&1 # Link file descriptor #6 with stdout.
# Saves stdout.
exec > $LOGFILE # stdout replaced with file "logfile.txt".
Oui, en bash, vous pouvez utiliser C'est ainsi que nous pouvons ouvrir un descripteur de fichier pour effectuer ce qui suit: P> descripteur de fichier code> pour la lecture et / ou l'écriture et peut utiliser n'importe quel numéro. Cependant, strong>, depuis 0 fort>, 1 fort> et 2 fort> est utilisé pour stdin fort>, Lire: h3>
écrire: h3>
exec 3<test.file
while read line <&3; do
echo $line;
done
Dans de larges limites, oui b>. Les limites larges incluent garder un œil sur
ulimit -n code> (le nombre maximal de descripteurs de fichier ouverts autorisés).