我对以下语法有点困惑。虽然它有效,但它不明白为什么它有效。似乎有两个管道连接到 diff 命令。但不是只有一个STDIN
吗?
例子:
diff <(echo "foobar") <(echo "barbaz")
diff <(cat foo.txt) <(cat bar.txt)
Run Code Online (Sandbox Code Playgroud)
Sve*_*ach 14
管道只是绑定到与 0 (stdin) 不同的文件描述符:
$ echo <(true)
/dev/fd/63
$ echo <(true) <(true)
/dev/fd/63 /dev/fd/62
Run Code Online (Sandbox Code Playgroud)
一个进程当然可以一次有多个打开的文件描述符,所以没有问题。