ども、ナスです。
ローカルにあるシェルスクリプトをリモートで実行したいなーと思って、今までならスクリプトをわざわざ対象のサーバに転送してsshで入って実行してたんですが、そんなことをしなくてもいいことがわかりました。
Linux/UNIXでローカルにあるスクリプトを配布せずにリモート先で実行させる方法
LinuxやUNIXで、スクリプトをリモート先に配布せずに、ローカルにスクリプトをおいたままリモート先でスクリプトを実行させたいときもあるだろう。 そんなときは、以下のようにsshコマンドを実行するといいだろう。 「'sh '」の箇所については、「sh -x」でも「'bash -x'」でも、ローカルで実行する際と同じで構わない。 それでは、実際に実行してみよう。 以下のスクリプトをローカル、リモート先それぞれで実行してみることにする。 実行した結果がこちら。 見てわかるように、ローカル側で実行した場合はホスト名、ユーザ名はロ...
orebibou.com
ssh リモート先のユーザ名@リモート先のホスト名(IPアドレス) ‘sh ‘ < 実行させたいスクリプトのパス
確かにこのコマンドで、リモートでローカルにあるスクリプトを実行できました。が、しかし、引数が必要なスクリプトが実行できない…
stackoverflow的な海外の掲示板で色々探しながら試してみたら、こんな感じでできました。ソース失念しました…
ssh リモート先のユーザ名@リモート先のホスト名(IPアドレス) 'sh -s ' < 実行させたいスクリプトのパス 引数
これでスクリプトを配布しなくて済むよ!(まだ完全解決とはいかないけど…