host1$ ssh host2 cmd1 | cmd2cmd2将在host1还是host2上运行?
例如:
host1$ ssh host2 ls -1 / | wc -l在本例中,wc -l将在host1或host2上运行,为什么?
发布于 2013-01-18 10:41:07
它将在本地主机上运行,因为shell将在调用ssh之前将'|‘识别为管道。
发布于 2013-01-18 13:59:09
使用'echo $HOSTNAME‘作为cmd2,它会清楚地给出正确的答案
发布于 2013-01-18 10:42:11
它将在host2上运行,因为管道结束了第一个命令。要在host1上运行cmd2,请转义管道:
host1$ ssh host2 cmd1 | cmd2
https://stackoverflow.com/questions/14391597
复制相似问题