默认情况下打开标准文件描述符 <=2。程序可以写入或读取超过 2 个的文件描述符,而无需使用open
系统调用来获取这样的描述符。然后程序可以在其手册中公布它正在使用什么文件描述符以及如何使用,并且 POSIX shell 可以打开一个文件并分配该文件描述符,使用exec
内置文件,然后调用将使用该文件的程序。
我想这样做的一个很好的理由是,如果程序想要有多个输出或输入文件,并且不想将它们指定为命令行参数(如果只有一个文件,你可以只重定向一个标准的文件描述符)。
我从未见过一个普遍可用的程序会在其手册中宣传这样的事情。这在实践中会发生吗?有人听说过这样的事情吗?
是的,我确实想留在 POSIX 世界中 - 所以没有 bash-only 内置插件。我只是想知道是否有这样的程序,而不是内置的shell。