次のようなssh経由でコマンドを送信しようとしました:
ssh user@192.168.1.1 "echo $(uname -a)"
しかし、私の問題は、その$(uname -a)部分が実際にサブシェルを作成し、192.168.1.1サーバーではなく、このコマンドを実行したシステムで実行されることです。
どうすれば修正できますか?
PS私の実際の例には、 docker stop all コマンドが含まれていました。これは次のようになります
docker stop $(docker ps -q)
しかし、私は質問を単純化しました。
更新: 申し訳ありませんが、質問を単純化しすぎています。私のコマンドはHere Documentを使用します(内部コマンドは複雑で、多くの異なる引用符を使用するため)
ssh user@192.168.1.1 <<SSHCOMMAND
echo $(uname -a)
SSHCOMMAND
したがって、Ignacio Vazquez-Abrams ソリューションは機能しません