bash – >&是什么意思?

前端之家收集整理的这篇文章主要介绍了bash – >&是什么意思?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对这个表达感到困惑:
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的文件描述符相关联。这是正确的吗?

如果是这样,是一个文件名可以与它的文件描述符互换,作为重定向的目标?

这与&>相同。从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

猜你在找的Bash相关文章