2014-07-11 215 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