2012-06-08 113 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

相关问题