私はすでにsshエージェントを設定しており、次のようなことを行うBashスクリプトで外部サーバーのコマンドを実行できます。
ssh blah_server "ls; pwd;"
さて、私が本当にやりたいことは、外部サーバーで多くの長いコマンドを実行することです。これらすべてを引用符で囲むと非常に見苦しくなります。これを回避するためだけに、sshを複数回実行することは避けたいと思います。
だから、私はこれを括弧で囲まれた何かで行うことができる方法はありますか?私は次の線に沿って何かを探しています:
ssh blah_server (
ls some_folder;
./someaction.sh;
pwd;
)
基本的に、私はそれがクリーンである限り、どんな解決策でも満足します。
編集する
明確にするために、私はこれがより大きなbashスクリプトの一部であることについて話しています。他の人はすぐにスクリプトに対処する必要があるかもしれないので、私はそれをきれいに保ちたいと思います。次のような1行のbashスクリプトは必要ありません。
ssh blah_server "ls some_folder; ./someaction.sh 'some params'; pwd; ./some_other_action 'other params';"
とても醜くて読みにくいからです。
scp
、ssh
と実行します。これは最もクリーンな方法だと思います。
ssh
呼び出しでそれを呼び出すのはどうですか。