Linux - Grep 和进程替换

标签 linux bash ssh grep

我试图理解以下命令之间的区别。 我在两台机器(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 有什么不同呢?

问候, 狮子座

最佳答案

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

关于Linux - Grep 和进程替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29940079/

相关文章:

linux - du 计算文件大小的硬链接(hard link)?

git - 如果 git 中的分支需要 rebase ,如何务实地检查 bash 脚本?

bash - 程序化的 ngrok 隧道 URL

PHP 通过 SSH 隧道连接到其他网络中的 LDAP

java - 停止在 ssh 中运行的 java 文件

c - 同一目标模块中的过程调用是否需要在链接阶段重定位

linux - connect() 可以使用非阻塞套接字返回 0 吗?

linux - 如何从包含带连字符的短语集的文件中搜索确切的短语

bash - 如何仅在文件存在时将输出重定向到文件?

ssh - 为什么 PuTTy SSH 客户端不再连接到 EC2 实例?