J'ai été un peu dérouté par cette expression :
gcc -c -g program.c >& compiler.txt
Je sais. &>filename
redirigera à la fois stdout et stderr vers le fichier filename
. Mais dans ce cas, l'esperluette est après le signe plus grand que. On dirait que c'est de la forme M>&N
, donde M
y N
sont des descripteurs de fichiers.
Dans l'extrait ci-dessus, est-ce que M=1
y N='compiler.txt'
? En quoi est-ce différent de :
gcc -c -g program.c > compiler.txt (ampersand removed)
Si je comprends bien, chaque fichier ouvert est associé à un descripteur de fichier supérieur à 2. Est-ce correct ?
Dans ce cas, un nom de fichier est-il interchangeable avec son descripteur de fichier en tant que cible de la redirection ?