Linux/UNIXでローカルにあるスクリプトを配布せずにリモート先で実行させる方法
Pocket

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

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

「’sh ‘」の箇所については、「sh -x」でも「’bash -x’」でも、ローカルで実行する際と同じで構わない。

それでは、実際に実行してみよう。
以下のスクリプトをローカル、リモート先それぞれで実行してみることにする。

Sponsored Links


#!/bin/sh

HOST_NAME=`hostname`
USER_NAME=`whoami`
echo $USER_NAME@$HOST_NAME

実行した結果がこちら。

test

見てわかるように、ローカル側で実行した場合はホスト名、ユーザ名はローカルのものが設定されているが、リモート側で実行させたらちゃんとリモート側のホスト名、ユーザ名が出力されている。
これを利用すれば、スクリプトなどに修正が出た際、資材としてスクリプトを配布しなくても実行させることが可能だ。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 1 comments

  1. Pingback: sshコマンドで覚えておきたい使い方9個 | 俺的備忘録 〜なんかいろいろ〜

Leave a Comment

メールアドレスが公開されることはありません。