2012-06-08 118 views
1

我有一個web應用程序寫在jsp/servlets & tomcat 7.它將在Linux系統上運行。如何在java-ee web應用程序中運行bash腳本?

我想用root privilages(gksudo ./myScript.sh)運行一個bash腳本。 我的腳本位於/ web目錄下(/web/myScript.sh)。 我該怎麼做?

我看過一些例子,我設法運行bash shell命令(如ls),但沒有設法執行腳本!我如何設置工作目錄/web/

+0

運行使用什麼? – adarshr

回答

0

看看下面的方法來找出如何獲取路徑到腳本:

要執行一個腳本,您可以使用Runtime class這樣的:

String[] commandArray = { 
    "/bin/bash", 
    "-c", 
    "my_script.sh" 
} 

Runtime.getRuntime().exec(commandArray); 

我從來沒有嘗試使用sudo(或gksudo)來運行腳本,因此您必須隨時使用它。

希望你可以在腳本名稱之前將它添加到數組中。

+0

你可能想要/ bin/bash,而不是'-c' – jordanm

+0

你使用的shell取決於你。任何shell都應該工作(只要它是腳本寫入的shell)。我會將其更改爲bash以匹配標籤。對我來說,經過多次試驗和錯誤之後,需要'-c'。 OP可能會嘗試一些事情,看看有什麼作用。 – jahroy

相關問題