从以bash编写的Java代码运行“ .sh”文件时,我遇到了问题。此时,我正在使用以下命令来运行脚本(位于本地目录中,并且似乎可以找到):
Process proc1 = Runtime.getRuntime().exec("./"+ nomScript);
proc1.waitFor();
但是在执行时,出现错误:
CreateProcess error = 193,%1个安装程序Win32有效期
(%1不是有效的Win32应用程序,整个错误在下面的代码部分中。)
java.io.IOException: Cannot run program "./OAD_TCI_20_Blocage.sh": CreateProcess error=193, %1 n’est pas une application Win32 valide
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:450)
at java.lang.Runtime.exec(Runtime.java:347)
at com.coframi.oad.manager.ExecSuperviseur.gererBlocage(ExecSuperviseur.java:406)
at com.coframi.oad.manager.ExecSuperviseur.main(ExecSuperviseur.java:173)
Caused by: java.io.IOException: CreateProcess error=193, %1 n’est pas une application Win32 valide
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 5 more
我尝试了一些操作来运行脚本,因为指向bash.exe的路径为:
Process proc1 = Runtime.getRuntime().exec("pathTobash.exe -c "+ nomScript);
但是似乎没有任何作用。
有人知道我如何运行此脚本吗?谢谢