【发布时间】:2013-04-17 21:44:45
【问题描述】:
根据维基百科,“进程替换也可用于捕获通常会进入文件的输出,并将其重定向到进程的输入。”(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)
完全有道理。但不是>(命令)。
【问题讨论】: