我对这个表达有点困惑:
gcc -c -g program.c >& compiler.txt
Run Code Online (Sandbox Code Playgroud)
我知道&>filename会将stdout和stderr重定向到文件filename.但在这种情况下,&符号在大于号之后.它看起来像它的形式M>&N,在哪里M和N是文件描述符.
在上面的代码片段,不M=1和N='compiler.txt'?这究竟与以下有何不同:
gcc -c -g program.c > compiler.txt (ampersand removed)
Run Code Online (Sandbox Code Playgroud)
我的理解是每个打开的文件都与大于2的文件描述符相关联.这是正确的吗?
如果是这样,文件名是否可与其文件描述符互换作为重定向目标?