【问题标题】:Execute bash script in eclipse在eclipse中执行bash脚本
【发布时间】:2023-03-24 14:04:02
【问题描述】:

我试图弄清楚如何从 Eclipse 中的 JAVA 程序执行一个简单的 bash 脚本。我已经检查了一些问题,如Cannot run program "..../abc.exe": error=13, Permission deniedPermission denied when running shell script from java program,但我仍然有这个错误:

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

我已经检查过文件权限:

-rwxrwxr-x 用户用户程序

我用这个sn-p来执行脚本:

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();
}

【问题讨论】:

  • 这个脚本在哪里?看起来您可能将它放在 jar 中 - jar 中的对象不是文件,您无法使用 File 访问它们。
  • 它位于我的 Eclipse 项目的资源文件夹中。该文件是一个 bash 脚本,它调用了一些我无法控制的 jar。如果我通过终端调用它,它会完美运行......

标签: java eclipse bash


【解决方案1】:

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

【讨论】:

  • 我尝试了以下方式:'ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", file.getAbsolutePath());'并且脚本被执行。感谢您的帮助。
猜你喜欢
  • 2013-07-13
  • 1970-01-01
  • 2017-03-08
  • 2012-06-24
  • 1970-01-01
  • 1970-01-01
  • 2020-03-16
  • 2016-07-11
  • 2015-03-02
相关资源
最近更新 更多