最佳答案
我被这句话弄糊涂了:
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的文件描述符相关联。这是正确的吗?
如果是,文件名是否可以与其文件描述符互换,作为重定向的目标?