如何从远程服务器的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
这将关系到你的ssh环境从交互shell的环境不同。例如,假设你使用的是bash,你的.bashrc
文件只能用于交互式shell环境。所以如果你在你的.bashrc
文件中设置你的PATH
变量,它只会对交互式shell有效。
一个简单的解决方法是引用Cachereload.sh
脚本中的java二进制文件的绝对路径。
非常感谢你Adamski ...但是能否告诉我如何在sh文件中引用java二进制文件的绝对路径?实际上,我是shell脚本编程新手。还有,还有其他方法可以设置PATH变量,以便即使ssh环境也可以看到JAVA路径吗?如果我可以在远程服务器的这个调用java命令中获得成功,我通过dat获得的成果将会很棒..所以请帮助我..在此先感谢.. – AKHIL 2010-11-24 19:50:22
当oracle用户在服务器上运行此命令而不是通过一行ssh时会发生什么情况。
它很可能是java不在此用户的PATH中(可能根本没有安装)。
您是否尝试使用Google搜索“linux java:command not found”并查看您遇到的错误的数千个答案? – 2010-11-24 15:43:58
也许对serverfault有问题? – marcosbeirigo 2010-11-24 15:44:57