Estaba un poco confundido por esta expresión:
gcc -c -g program.c >& compiler.txt
Sé &>filename
que redirigirá tanto stdout como stderr al archivo filename
. Pero en este caso, el ampersand está después del signo mayor que. Parece que tiene el formato M>&N
, donde M
y N
son descriptores de archivo.
En el fragmento de arriba, ¿ M=1
y N='compiler.txt'
? ¿En qué se diferencia exactamente de:
gcc -c -g program.c > compiler.txt (ampersand removed)
Tengo entendido que cada archivo abierto está asociado con un descriptor de archivo mayor que 2. ¿Es correcto?
Si es así, ¿es un nombre de archivo intercambiable con su descriptor de archivo como destino de la redirección?