Linux - Grep 和进程替换

Linux - Grep and process substitution

我想了解以下命令之间的区别。 我在两台机器(Server1 和 Server2)上有相同的文件,如下所示:

$ ls
file1.txt
$ ssh Server2 'ls /tmp/leo/'
file1.txt

下面的命令按预期工作:

$ ls /tmp/leo/ | grep -f <(ls /tmp/leo/)
file1.txt

但是如果我将 SSH 放在进程替换命令上,它就不起作用:

$ ls /tmp/leo/ | grep -f <(ssh l1558s 'ls /tmp/leo/')

那么使用 SSH 有什么区别呢?

此致, 狮子座

运行 ssh 使用 -n 开关,因此它不会等待标准输入上的输入。