1つのSSHコマンドで複数のタスクを実行する

1つのSSHコマンドで複数のタスクを実行する

私に命令があります。

# ssh -t computer.A 'command'

SSH経由でコンピュータからリモートで簡単なコマンドを実行します。

それに加えて、コンピュータAを介してコンピュータBからコマンドを実行したいと思います。私の考えは次のとおりです。

# ssh -t computer.A 'ssh -t computer.B 'shutdown -p now' shutdown -p now'

このコマンドは、コンピュータBを最初にシャットダウンしてからコンピュータAをシャットダウンしますが、コンピュータBのみをシャットダウンし、コンピュータAをシャットダウンするコマンドは無視します。

何が間違っていますか?

ベストアンサー1

引用符をエスケープし、これら2つのコマンドを互いに分離する必要があります。

ssh -t computer.A 'ssh -t computer.B \\'shutdown -p now\\'; shutdown -p now'

最初のシャットダウンが成功した場合にのみコンピュータの2番目のシャットダウンを実行するには、;に置き換えます&&

次のように代替参照を使用することもできます。

ssh -t computer.A 'ssh -t computer.B "shutdown -p now"; shutdown -p now'

おすすめ記事