host1$ ssh host2 cmd1 | cmd2
cmd2会在host1或host2上运行吗?
例如:
host1$ ssh host2 ls -1 / | wc -l
在此示例中,wc -l
将在host1或host2上运行,为什么?
答案 0 :(得分:1)
它将在本地主机上运行,因为shell将识别“|”在调用ssh之前作为管道。
答案 1 :(得分:0)
使用'echo $ HOSTNAME'作为cmd2,它会清楚地给出正确答案
答案 2 :(得分:-1)
它将在host2上运行,因为管道结束了第一个命令。要在host1上运行cmd2,请转义管道:
host1 $ ssh host2 cmd1 \ | CMD2