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).