2010-11-24 25 views
0

リモートサーバからシェルスクリプトからjava -jarコマンドを実行するには?

java -jar SingMgmnt.jar $4 $2 $3 sixdee sixdee $5 

この:

plsはシェルスクリプト..

私は、次のコマンドを持って一つのサーバでスクリプトCachereload.shを持っているでJAVAコマンドを使用して、この直後に...

問題で私を助けて私は同じサーバーからそれを実行するとき、非常にうまく動作しています。

しかし、私は別のサーバーからこのスクリプトを実行したいと私は

ssh [email protected] 'sh -c "./Cachereload.sh"' 

パスワードの入力を要求されますどのようにそれをやったし、その後、それはスクリプトを実行します。しかし、その後、私は、エラーを取得

./CacheReload.sh: line 4: java: command not found 

しかし、唯一のjavaコマンドは、PWD、LSもmysqlのコマンドbcoz ..私は考えて働いていないリモートサーバー自体..

から正常に動作しています助けてください私は.. ..

ありがとうすべての Akhil

+1

「Linuxのjava:コマンドが見つかりません」というグーグルで試してみましたが、表示されているエラーの何千もの答えを見ていましたか? –

+1

おそらくserverfaultへの質問ですか? – marcosbeirigo

答えて

2

に感謝。たとえば、bashを使用していると仮定すると、.bashrcファイルは、対話的なシェル環境でのみ使用されます。したがって、.bashrcファイル内にPATH変数を設定している場合は、対話型シェルの場合にのみ有効です。

簡単な回避策は、Cachereload.shスクリプト内のjavaバイナリの絶対パスを参照することです。

+0

非常にアダムスキーありがとうございます...しかし、私はどのようにshファイル内のJavaバイナリの絶対パスを参照する方法を私に電話することができますか?私は実際にシェルスクリプトの新機能です。また、ssh環境でもJAVAパスが見えるようにPATH変数を設定する方法はありますか?私がリモートサーバからこのJavaコマンドを呼び出すことで成功することができれば、私は何を達成するのだろうか...助けてください..アドバイスをお願いします.. – AKHIL

0

oracleユーザーがサーバー上でこのコマンドを実行すると、1行のsshではなく何が実行されますか。

JavaがこのユーザーのPATHにない可能性があります(おそらくインストールされていない可能性があります)。

+0

Thanx Peter ..ああ、同じサーバーで、それは正常に動作しているので、Javaはサーバーにインストールされています.SSHを実行している間のみ、この問題が発生しています。 – AKHIL

関連する問題