我对这个表达感到困惑:
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)
这与&>相同。从bash手册页:
Redirecting Standard Output and Standard Error
This construct allows both the standard output (file descriptor 1) and
the standard error output (file descriptor 2) to be redirected to the
file whose name is the expansion of word.06000