2012-03-15 143 views
1

我见过很多类似的帖子,但我仍然难住。我想有一个Java程序运行这个shell脚本:如何从Java运行bash脚本

C:\\Users\\pro-services\\Desktop\\projects\\github\\cygwin\\TEST.sh 

下面的代码是什么样子:

ProcessBuilder pb = new ProcessBuilder("C:\\Users\\pro-services\\Desktop\\projects\\github\\cygwin\\TEST.sh"); 
Process p = pb.start(); 

我想使用Process Builder,但我不知道如何得到它工作 - 我不断收到错误:

Cannot run program "C:\Users\pro-services\Desktop\projects\github\cygwin\TEST.sh": CreateProcess error=193, %1 is not a valid Win32 application 

我知道有一些我不使用的ProcessBuilder等领域。我也知道这里可能有语法问题。我为Cygwin写了我的脚本。请帮忙吗?

+0

可能重复[如何运行Java代码的Unix shell脚本?] (http://stackoverflow.com/questions/525212/how-to-run-unix-shell-script-from-java-code) – 2012-03-15 23:24:40

回答

2

而是通过脚本为可执行ProcessBuilder的,传递的路径,bash二进制文件,并通过你的脚本参数:

ProcessBuilder pb = new ProcessBuilder("C:\\path\\to\\bash.exe", "C:\\Users\\pro-services\\Desktop\\projects\\github\\cygwin\\TEST.sh"); 
Process p = pb.start(); 
+0

太棒了,明白了,谢谢! – blaughli 2012-03-15 23:29:35