最佳答案
我被这句话弄糊涂了:
gcc -c -g program.c >& compiler.txt
我知道 &>filename会将 stdout 和 stderr 重定向到文件 filename。但在这种情况下,与号是 之后大于号。它看起来像是 M>&N形式,其中 M和 N是文件描述符。
在上面的代码片段中,做 M=1和 N='compiler.txt'? 这与下面的代码片段到底有什么不同:
gcc -c -g program.c > compiler.txt (ampersand removed)
我的理解是,每个打开的文件都与一个大于2的文件描述符相关联。这是正确的吗?
如果是,文件名是否可以与其文件描述符互换,作为重定向的目标?