Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在eclipse中执行bash脚本_Java_Eclipse_Bash - Fatal编程技术网

Java 在eclipse中执行bash脚本

Java 在eclipse中执行bash脚本,java,eclipse,bash,Java,Eclipse,Bash,我试图弄清楚如何从eclipse中的JAVA程序执行一个简单的bash脚本。我已经检查了一些问题,如和,但仍然存在以下错误: IOException:无法运行程序“prog”错误=13,权限被拒绝 我已经检查了文件权限: -RWXR-x用户程序 我使用此代码段执行脚本: File file = new File(this.getClass().getClassLoader().getResource("prog").getFile()); ProcessBuilder processBuilde

我试图弄清楚如何从eclipse中的JAVA程序执行一个简单的bash脚本。我已经检查了一些问题,如和,但仍然存在以下错误:

IOException:无法运行程序“prog”错误=13,权限被拒绝

我已经检查了文件权限:

-RWXR-x用户程序

我使用此代码段执行脚本:

File file = new File(this.getClass().getClassLoader().getResource("prog").getFile());
ProcessBuilder processBuilder = new ProcessBuilder(file.getAbsolutePath());
try {
  Process process = processBuilder.start();
  process.waitFor();
} catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
} catch (InterruptedException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}

从java调用bash脚本时,必须将“/bin/bash”指定为可执行文件,并将脚本路径作为参数传递。

此脚本在哪里?它看起来像是放在一个jar中——jar中的对象不是文件,您不能使用
File
访问它们。它在我的eclipse项目的resources文件夹中。该文件是一个bash脚本,它调用一些我无法控制的jar。如果我通过终端调用它,它工作得很好……我尝试了以下方式:“ProcessBuilder ProcessBuilder=new ProcessBuilder(“/bin/bash”,file.getAbsolutePath());”然后脚本被执行。谢谢你的帮助。