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

 我来答
手机用户46050
2013-10-18 · TA获得超过114个赞
知道答主
回答量:101
采纳率:0%
帮助的人:93.3万
展开全部
代码是这样写的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
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
a.bat 是XP 下的运行程序
------解决方案--------------------------------------------------------
我觉得有以下可能:
1、/usr/local/a.bat 文件没有被授予可执行权限,导致无法执行;
2、java 未能识别sh 命令,最好调用java.lang.Runtime.exec(String cmd, String[] envp)
方法,将sh 的上下文路径设置进去,估计就没有问题了。
------解决方案--------------------------------------------------------
纠正一下2 楼的说法,实际上只要文件中的内容是linux 命令或相应批处理命令,其文件名
------解决方案--------------------------------------------------------
从代码上分析,应该是环境变量的问题java 找不到sh 的执行路径
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式