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

如何从远程服务器的Shell脚本运行java-jar命令?,java,shell,Java,Shell,请马上帮我 shellscript中的JAVA命令有问题 我在一台服务器中有一个脚本Cachereload.sh,该服务器具有以下命令: java -jar SingMgmnt.jar $4 $2 $3 sixdee sixdee $5 当我在同一台服务器上运行它时,它工作得非常好 但是我想从另一台服务器上运行这个脚本,我是这样做的 ssh oracle@192.168.0.72 'sh -c "./Cachereload.sh"' 它将提示输入密码,然后执行脚本。但是我有一个错误 ./Ca

请马上帮我

shellscript中的JAVA命令有问题

我在一台服务器中有一个脚本Cachereload.sh,该服务器具有以下命令:

java -jar SingMgmnt.jar $4 $2 $3 sixdee sixdee $5
当我在同一台服务器上运行它时,它工作得非常好

但是我想从另一台服务器上运行这个脚本,我是这样做的

ssh oracle@192.168.0.72 'sh -c "./Cachereload.sh"'
它将提示输入密码,然后执行脚本。但是我有一个错误

./CacheReload.sh: line 4: java: command not found
但我认为只有java命令不起作用。。bcoz pwd、ls甚至mysql命令在远程服务器上运行良好

请帮帮我

谢谢大家
Akhil

这将与您的ssh环境有关,不同于交互式shell的环境。例如,假设您使用的是bash,那么您的
.bashrc
文件将仅用于交互式shell环境。因此,如果在
.bashrc
文件中设置
路径
变量,则该变量仅对交互式shell有效


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

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


很可能java不在该用户的路径中(可能根本没有安装)。

您是否尝试过通过谷歌搜索“linux java:command not found”并查看数千个错误答案?可能是对serverfault的问题?非常感谢Adamski。。。但是你能告诉我如何在sh文件中引用java二进制文件的绝对路径吗?实际上,我对shell脚本还不熟悉。。还有,有没有其他方法来设置PATH变量,以便ssh环境也能看到JAVA路径?如果我能成功地从远程服务器调用java命令,我通过dat获得的将是非常好的..所以请帮助我。。提前谢谢..Thanx Peter。。是的,dats wat我从同一台服务器上的oracle用户那里得知,它工作正常,所以Java安装在服务器上。。只有在通过ssh进行操作时,我才遇到这个问题。。提前支付。。