私に命令があります。
# 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'