Byłem trochę zdezorientowany tym wyrażeniem:
gcc -c -g program.c >& compiler.txt
Wiem, &>filenameże przekieruje zarówno stdout, jak i stderr do pliku filename. Ale w tym przypadku ampersand znajduje się po znaku większym niż. Wygląda jak jego forma M>&N, gdzie Mi Nsą deskryptory plików.
W powyższym fragmencie, czy M=1i N='compiler.txt'? Czym dokładnie się to różni od:
gcc -c -g program.c > compiler.txt (ampersand removed)
Rozumiem, że każdy otwarty plik jest powiązany z deskryptorem pliku większym niż 2. Czy to prawda?
Jeśli tak, to czy nazwa pliku jest wymienna z deskryptorem pliku jako celem przekierowania?