我正在写一个使用方法exec函数运行的bash命令在本地Java程序MyAwesomeProgram。 我的代码位于在/ home / A / B / C,并有位于在/ home / A / B / d .SH文件,我需要运行。 然而,当我跑我的代码:
Process p;
Runtime rt = new Runtime.getRuntime();
p = rt.exec("./home/a/b/d/shell.sh");
p.waitFor();
我收到一个错误:
Exception in thread "main" java.io.IOException: Cannot run program "./home/a/b/d/shell.sh": java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:431)
at java.lang.Runtime.exec(Runtime.java:328)
at MyAwesomeProgram.main(MyAwesomeProgram.java:186)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
我相信,这仅仅是在格式化exec命令字符串错误,但我一直没能找到解决的办法迄今。 在哪里我搞砸了? 有效使用EXEC任何其他提示/技巧,将不胜感激,但完全是可选的。 谢谢!
编辑:我得到的代码工作,这是一对夫妇目录引用我向后以及什么Woot4Moo所说的问题。