这个 Tcl 语句中的“&”是什么意思

What does the "&" mean in this Tcl statment

行是这样的:

if [catch {open "|$command |& cat"} input] {

这是来自http://www.beedub.com/book/2nd/TKEXAMPL.doc.html

的代码片段

到目前为止,|$command 描述了一个命令管道。根据该教程页面,输出通过管道传输到 cat 以立即将错误输出到管道中。

输入是文件描述符的名称。稍后开放阅读。

但是“&”符号在“|& cat”中的作用是完全不透明的

But it is totally opaque what the "&" symbol does in "|& cat"

exec 上的文档说:

Separates distinct commands in the pipeline. Both standard output and standard error of the preceding command will be piped into the standard input of the next command. This form of redirection overrides forms such as 2> and >&.

因此,与 | 相反,|& 也会将 $command 的标准错误通过管道传输到 cat 的标准输入中。