ども、ナスです。

ローカルにあるシェルスクリプトをリモートで実行したいなーと思って、今までならスクリプトをわざわざ対象のサーバに転送してsshで入って実行してたんですが、そんなことをしなくてもいいことがわかりました。

LinuxやUNIXで、スクリプトをリモート先に配布せずに、ローカルにスクリプトをおいたままリモート先でスクリプトを実行させたいときもあるだろう。 そんなときは、以下のようにsshコマンドを実行するといいだろう。 「'sh '」の箇所については、「sh -x」...

orebibou.com

ssh リモート先のユーザ名@リモート先のホスト名(IPアドレス) ‘sh ‘ < 実行させたいスクリプトのパス

確かにこのコマンドで、リモートでローカルにあるスクリプトを実行できました。が、しかし、引数が必要なスクリプトが実行できない…

stackoverflow的な海外の掲示板で色々探しながら試してみたら、こんな感じでできました。ソース失念しました…

ssh リモート先のユーザ名@リモート先のホスト名(IPアドレス) 'sh -s ' < 実行させたいスクリプトのパス 引数

これでスクリプトを配布しなくて済むよ!(まだ完全解決とはいかないけど…

元記事はこちら

ローカルにあるスクリプトを引数付きでリモートのLinuxで実行する方法 [cloudpack OSAKA blog]