我有一个shell脚本,我想从Java代码在Eclipse中执行。
我可以使用外部工具来运行脚本,但我希望脚本在Java代码执行期间运行,即Java代码应该调用脚本。
之前我使用“Process Builder”这样做但似乎Eclipse不支持该方法,因为当我给它所有权限时它说“找不到文件”。
知道如何从Eclipse中的Java代码运行脚本吗?
以下是代码:
String line1 = null;
String target = new String("/home/aditya_s/workspace/rs-test/src/iperf_parse.sh " + host + " " + "9000");
while(line1 == null)
{
Process p1 = Runtime.getRuntime().exec(target);
BufferedReader input1 = new BufferedReader(new InputStreamReader(p1.getInputStream()));
System.out.println("Ran");
line1 = input1.readLine();
p1.destroy();
}
BW = Double.parseDouble(line1);
提示:右键单击shell脚本,然后转到“属性”。给“所有者”提供“读/写/执行”权限。默认情况下,“执行”权限不存在。因此,您可能会收到“无法执行script.sh”这样的错误。
答案 0 :(得分:1)
Eclipse像往常一样运行你的java程序,因此ProcessBuilder也可以运行。您可能传递了错误的路径。如果路径是相对的,则它将相对于System.getProperty("user.dir")
。
答案 1 :(得分:0)
您应该可以使用以下内容,将shellscript替换为您要运行的脚本。
String s = "shellscript";
Process proc = Runtime.getRuntime().exec(s);
答案 2 :(得分:0)
您应该查看ProcessBuilder