文件描述符重新分配如何工作?

文件描述符重新分配如何工作?

在某种程度上,这个问题是其他问题。

在 bash 中,您可以使用文件描述符做一些非常巧妙的事情。喜欢

{ command > /dev/null } 2>&1 | grep filter;

grep 上标准错误仅有的。

我的问题:

  • 有多少级描述符。 (“数字”可以达到多高)?
  • 除了12( 之外,它们是标准输出标准错误),那些其他“数字”的含义和一般用途是什么?
  • 它们的指定顺序重要吗?
    例如command 1>&2 3>&1 2>&3command 2>&3 3>&1 1>&2

答案1

  • 63您很可能期望它们能够在典型的 Linux 机器上运行。
  • 有 (was?) stdlog,但很少使用(我相信我从未见过)。
  • 顺序很重要:检查man bash重定向。

答案2

您需要的数量由最大文件描述符计数给出极限(1)命令。

相关内容