Dans le tutoriel bash que je lis, il est dit que si vous ouvrez un descripteur de fichier pour la lecture, c'est-à-dire
exec 3< echolist
Ensuite, vous devez le fermer comme ça,
exec 3<&-
Cependant, si vous ouvrez un descripteur de fichier en écriture, vous devez le fermer comme suit:
exec 3>&-
Pourtant, lorsque je regarde sur Internet, je vois des gens ouvrir des fichiers puis les fermer avec ceci:
exec 3>&-
NOTE: quand, selon le tutoriel, ils devraient utiliser exec 3<&1
.
Ma question est donc la suivante: tous les descripteurs de fichier peuvent-ils être fermés via exec n>&-
où n est le numéro du descripteur de fichier? Peu importe s'il était ouvert à la lecture, à l'écriture ou aux deux?
>&-
et<&-
est le fd par défaut lorsqu'il n'est pas spécifié (>&-
est1>&-
while<&-
est0<&-
). Identique pourx>&y
ce qui est identique àx<&y
sauf que six
non fourni.