从java执行shell时出错

时间:2013-11-25 15:36:16

标签: aix

我正在尝试使用Runtime.execute()从Java类执行unix schell脚本。但是我这样做时会得到exitValue 139。  请找到代码段:

 try{String scriptName = "test.ksh";
String argParameter = "satish"; // parameter passed to ksh 
file.String scriptToBePassed = "/usr/bin/ksh "+scriptName+" "+argParameter;
Process proc = Runtime.getRuntime().exec(scriptToBePassed);
int exitValue = proc.waitFor();
s.o.p("Exit Value is : "+exitValue);}catch(Exception e){  e.printStackTrace();}

步骤2)test.ksh文件在内部调用exe文件并接受参数。

在运行上面的代码时,我得到139退出值。

并且还要注意,当我手动运行脚本时,它成功了。

以上java代码将生成命令:  / usr / bin / ksh test.ksh satish。

该命令用于手动运行。

1 个答案:

答案 0 :(得分:0)

使用命令的完整路径 完整路径意味着shell脚本的路径??。 我把我的剧本放在/ satish / bexe区域......我应该 用得像 / usr / bin / ksh /satish/bexe/test.ksh之类似......