首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Java调用linux的shell脚本不成功,解决得分,该如何处理

2012-04-22 
Java调用linux的shell脚本不成功,解决得分代码是这样写的try {String cmdssh /usr/local/a.batProcess

Java调用linux的shell脚本不成功,解决得分
代码是这样写的
try {
String cmds="sh /usr/local/a.bat";  
Process child = Runtime.getRuntime().exec(cmds);
} catch (IOException e) {
e.printStackTrace();
}
a.bat文件是在linux下的一个批处理文件,里面两条语句,单独执行sh /usr/local/a.bat是没有问题的,运行正常,放在java项目里就不调用了,是不是哪里写的不对?谢谢

[解决办法]
有什么异常吗
[解决办法]
a.bat是XP下的运行程序
linux下的要XX.sh吧?
[解决办法]
我觉得有以下可能:
1、/usr/local/a.bat文件没有被授予可执行权限,导致无法执行;
2、java未能识别sh命令,最好调用java.lang.Runtime.exec(String cmd, String[] envp)方法,将sh的上下文路径设置进去,估计就没有问题了。
[解决办法]
纠正一下2楼的说法,实际上只要文件中的内容是linux命令或相应批处理命令,其文件名字只要符合linux文件命名规则,在被授予可执行权限后命名成什么都是可以执行的。
[解决办法]
从代码上分析,应该是环境变量的问题
java找不到sh的执行路径
可以试试 String cmds="/bin/sh /usr/local/a.bat";

热点排行