根据维基百科,“进程替换也可用于捕获通常会进入文件的输出,并将其重定向到进程的输入。”(http://en.wikipedia.org/wiki/Process_substitution)。
所以,用我自己的话来说,这意味着通过进程替换,我可以获取命令 A 的输出并将其用作命令 B 的输入。换句话说,它就像一个管道(这是正确的吗?)。
所以如果这是真的,如果我这样做:
echo "test" >(wc)
那么我应该期望得到以下信息:
1 1 5
因为我对上述命令的理解类似于以下:
$echo "test" > tmp
$wc tmp
1 1 5 tmp
除了我不使用进程替换制作 tmp 文件。
但相反,我得到以下输出:
test /dev/fd/63
这显然表明我的心理模型不正确。我哪里错了?
我理解<(命令)。例如
$diff <(head file1) <(head file2)
完全有道理。但不是>(命令)。