2014-07-11 165 views
0

我试图在Java上执行一个Linux脚本,它使得文件可执行。该脚本包含以下内容:执行Linux脚本的Java

#/bin/bash 
chmod +x * 

注:该脚本可运行(使用chmod + x)的

我的Java代码包含以下内容:

try { 
    Process p = Runtime.getRuntime().exec("./Scripts/execute.sh"); 
}catch (Exception e1) { 
    System.out.println("Exception: "); 
    e1.printStackTrace(); 
} 

出于某种原因,我似乎不能够运行脚本。我已经尝试过使用'echo'hello'来运行简单的脚本,并且能够看到输出。任何人都知道如何做到这一点?

+0

什么是错误\异常? –

+0

似乎脚本不会被执行?!没有例外 – Michael

+0

我使用了一些代码来完成命令的输出,并且他没有给出任何错误,也没有给出任何类型的消息。 编辑:奇怪的是,我将exec行改为“chmod + x/path/to/file”,我能够使文件成为可执行文件......但不使用脚本 –

回答

0

这是另一种方法。

您可以使用NIO.2。 (假设你使用Java> = 7)

看一看setPosixFilePermissions

您可以使用POSIX属性来设置文件权限。 PosixFilePermissions

+0

感谢您的理解,但是这反对从我的程序调用linux shell命令会更容易实现,您不觉得吗? –

+0

至少它应该工作:) Idk为什么sh脚本不起作用 – Michael

+0

它真的不应该太多的工作来实现它:) – Michael