1

我有一个要在 Eclipse 中从 Java 代码执行的 shell 脚本。

我可以使用外部工具来运行脚本,但我希望脚本在 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”的错误。

4

3 回答 3

1

Eclipse 像往常一样运行您的 java 程序,因此 ProcessBuilder 也可以正常工作。您可能走错了路。如果路径是相对的,它将相对于System.getProperty("user.dir").

于 2013-03-07T12:02:55.723 回答
0

您应该能够使用以下内容,将 shellscript 替换为您要运行的脚本。

String s = "shellscript";
Process proc = Runtime.getRuntime().exec(s); 
于 2013-03-07T12:00:17.307 回答
0

你应该看看ProcessBuilder

于 2013-03-07T12:02:16.280 回答