如何从远程服务器的Shell脚本运行java -jar命令?

问题描述:

请帮我在这立刻...如何从远程服务器的Shell脚本运行java -jar命令?

问题在shell脚本的Java命令..

我有一台服务器的脚本Cachereload.sh它具有以下命令:

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

当我从同一台服务器运行它时,这工作得很好。

但我想运行从另一台服务器这个剧本,我这样做是因为

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

将提示输入密码,之后,它执行脚本。但后来我发现了一个错误,

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

但只有java命令不工作我想.. bcoz PWD,LS甚至mysql命令正在从远程服务器本身很好..

请帮助我..

多谢各位 AKHIL

+1

您是否尝试使用Google搜索“linux java:command not found”并查看您遇到的错误的数千个答案? – 2010-11-24 15:43:58

+1

也许对serverfault有问题? – marcosbeirigo 2010-11-24 15:44:57

这将关系到你的ssh环境从交互shell的环境不同。例如,假设你使用的是bash,你的.bashrc文件只能用于交互式shell环境。所以如果你在你的.bashrc文件中设置你的PATH变量,它只会对交互式shell有效。

一个简单的解决方法是引用Cachereload.sh脚本中的java二进制文件的绝对路径。

+0

非常感谢你Adamski ...但是能否告诉我如何在sh文件中引用java二进制文件的绝对路径?实际上,我是shell脚本编程新手。还有,还有其他方法可以设置PATH变量,以便即使ssh环境也可以看到JAVA路径吗?如果我可以在远程服务器的这个调用java命令中获得成功,我通过dat获得的成果将会很棒..所以请帮助我..在此先感谢.. – AKHIL 2010-11-24 19:50:22

当oracle用户在服务器上运行此命令而不是通过一行ssh时会发生什么情况。

它很可能是java不在此用户的PATH中(可能根本没有安装)。