java - 在 Eclipse 中的 Java 代码运行时执行 shell 脚本

标签 java eclipse shell

我有一个 shell 脚本,我想从 Java 代码在 Eclipse 中执行它。

我可以使用外部工具来运行脚本,但我希望脚本在 Java 代码执行期间运行,即 Java 代码应该调用脚本。

之前我使用“进程生成器”来执行此操作,但 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”之类的错误。

最佳答案

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

关于java - 在 Eclipse 中的 Java 代码运行时执行 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15270621/

相关文章:

shell - 从日志中排序唯一的 url

shell - 使用 shell 和 curl 检查站点是否可用以进行 https URL 重定向

容易被垃圾收集器收集的Java变量

java - Spring MVC 未选择全局异常页面

java - Android Java - 在类中更改 requestLocationUpdates 刷新

正数的Java打印符号

Java伪定时器

c++ - 为 CMake 链接 Openscenegraph 库

c - 如何在 GNU LD 中实现自定义输出部分?

java - 如何修复此 .bat 文件以便它可以在 macOS 中运行?