かべぎわブログ

ブログです

シェルスクリプトがリモートで呼び出されたかどうかを判定する

シェルスクリプト内でリモートで呼び出されたか否かを判定してみたいと思います。
具体的にはremsh script.sh./script.shそれぞれで実行したときに違う結果を返すようなスクリプトをつくります。

コード

ShellScript

結果

・ローカルで実行

# ./remote_script.sh
local dayo

・リモートで実行

# remsh test001 ./remote_script.sh
remote dayo

かんたんな説明

UNIX/LinuxにはREMOTEHOSTという環境変数があり、telnetやrloginなどをつかって接続した際、接続元のホスト名がここにこの変数にはいるのでそれを利用しています。
REMOTEHOSTになにもはいっていないということはローカルでそのまま実行している。ということになります。