host1$ ssh host2 cmd1 | cmd2
cmd2會在host1或host2上運行嗎?
例如爲:
host1$ ssh host2 ls -1/| wc -l
在這個例子中,將wc -l
在host1或host2上運行,爲什麼呢?
host1$ ssh host2 cmd1 | cmd2
cmd2會在host1或host2上運行嗎?
例如爲:
host1$ ssh host2 ls -1/| wc -l
在這個例子中,將wc -l
在host1或host2上運行,爲什麼呢?
它會在本地主機上運行,因爲shell會識別'|'作爲調用ssh之前的管道。
它將在host2上運行,因爲管道結束了第一條命令。爲了讓cmd2在host1上運行,請跳過管道:
host1 $ ssh host2 cmd1 \ | CMD2
使用「回聲$ HOSTNAME」作爲CMD2,它會清楚地給你正確的答案
這是很容易找到自己:'的ssh主機2回聲|主機名' – Eevee
@Eevee,其實我知道答案,我想知道的是理由。 –