Linux 如何在JavaEEWeb应用程序中运行bash脚本?
我有一个用jsp/servlets&Tomcat7编写的web应用程序,它将在linux系统上运行 我想用根权限运行bash脚本(Linux 如何在JavaEEWeb应用程序中运行bash脚本?,linux,bash,jakarta-ee,tomcat,Linux,Bash,Jakarta Ee,Tomcat,我有一个用jsp/servlets&Tomcat7编写的web应用程序,它将在linux系统上运行 我想用根权限运行bash脚本(gksudo./myScript.sh)。 我的脚本位于/web目录下。(/web/myScript.sh)。 我该怎么做 我看过一些例子,我成功地运行了bashshell命令(比如ls),但没有成功地执行脚本!!如何将/web/设置为工作目录?检查以下方法以了解如何获取脚本的路径: 要执行脚本,可以使用以下命令: String[] commandArray =
gksudo./myScript.sh
)。
我的脚本位于/web目录下。(/web/myScript.sh
)。
我该怎么做
我看过一些例子,我成功地运行了bashshell命令(比如
ls
),但没有成功地执行脚本!!如何将/web/
设置为工作目录?检查以下方法以了解如何获取脚本的路径:
String[] commandArray = {
"/bin/bash",
"-c",
"my_script.sh"
}
Runtime.getRuntime().exec(commandArray);
我从来没有尝试过使用sudo(或gksudo)运行脚本,所以您必须使用它
希望您可以将其添加到脚本名称之前的数组中。检查以下方法以了解如何获取脚本的路径:
String[] commandArray = {
"/bin/bash",
"-c",
"my_script.sh"
}
Runtime.getRuntime().exec(commandArray);
我从来没有尝试过使用sudo(或gksudo)运行脚本,所以您必须使用它
希望您可以将它添加到脚本名称之前的数组中。您可能需要/bin/bash,而不需要
-c
您可以使用哪个shell。任何shell都应该可以工作(只要脚本是用同一个shell编写的)。我会将其更改为bash以匹配标记。对我来说,-c
是经过多次尝试和错误后才需要的。OP可能需要尝试一些方法,看看什么是有效的。您可能需要/bin/bash,而不需要-c
您使用哪个shell取决于您。任何shell都应该可以工作(只要脚本是用同一个shell编写的)。我会将其更改为bash以匹配标记。对我来说,-c
是经过多次尝试和错误后才需要的。OP可能需要尝试一些方法,看看哪些方法有效。