0
host1$ ssh host2 cmd1 | cmd2

cmd2 は host1 または host2 で実行されますか?

例えば:

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

この例ではwc -l、host1 または host2 で実行されますが、なぜですか?

4

3 に答える 3

1

シェルは「|」を認識するため、ローカル ホストで実行されます。ssh を呼び出す前にパイプとして。

于 2013-01-18T02:41:06.787 に答える
0

cmd2として「echo $HOSTNAME」を使用すると、明らかに正しい答えが得られます

于 2013-01-18T05:59:09.137 に答える
-1

パイプは最初のコマンドを終了するため、host2 で実行されます。host1 で cmd2 を実行するには、パイプをエスケープします。

host1$ ssh host2 cmd1 \| cmd2

于 2013-01-18T02:42:11.137 に答える