请注意:
mark@L-R910LPKW:~$ diff <(echo a) <<<b
diff: missing operand after '/dev/fd/63'
diff: Try 'diff --help' for more information.
mark@L-R910LPKW:~$
我知道<(...)
工作正常:
mark@L-R910LPKW:~$ diff <(echo a) <(echo b)
1c1
< a
---
> b
mark@L-R910LPKW:~$
我也知道<<<
一般情况下工作正常:
mark@L-R910LPKW:~$ cat <<<a
a
mark@L-R910LPKW:~$
那么调用它的正确方法是什么diff
?
该
diff
命令需要文件名参数,而此处的字符串<<<
写入标准输入。然而man diff
告诉我们所以
这同样适用于此处的文档:
在具有
/dev/fd/x
设备的系统上,您可以执行以下操作:使用 Bourne shell 的
<<
here-document 重定向操作符。使用 zsh 的
<<<
here-string 重定向运算符。在 zsh 中,您还可以执行以下操作:
您可以
<()
结合cat <<<
:如果您只需要使用
<<<
一个参数,Steeldriver 的答案会很好用,但如果您需要同时使用这两个参数,那么这将起作用:但不清楚为什么您需要一个 here-string。
<(cat <<<a)
和之间没有什么区别<(echo a)