2013-01-18 67 views
0
host1$ ssh host2 cmd1 | cmd2 

cmd2會在host1或host2上運行嗎?

例如爲:

host1$ ssh host2 ls -1/| wc -l 

在這個例子中,將wc -l在host1或host2上運行,爲什麼呢?

+0

這是很容易找到自己:'的ssh主機2回聲|主機名' – Eevee

+0

@Eevee,其實我知道答案,我想知道的是理由。 –

回答

1

它會在本地主機上運行,​​因爲shell會識別'|'作爲調用ssh之前的管道。

-1

它將在host2上運行,因爲管道結束了第一條命令。爲了讓cmd2在host1上運行,請跳過管道:

host1 $ ssh host2 cmd1 \ | CMD2

0

使用「回聲$ HOSTNAME」作爲CMD2,它會清楚地給你正確的答案

相關問題