Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在JavaEEWeb应用程序中运行bash脚本?_Linux_Bash_Jakarta Ee_Tomcat - Fatal编程技术网

Linux 如何在JavaEEWeb应用程序中运行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 =

我有一个用jsp/servlets&Tomcat7编写的web应用程序,它将在linux系统上运行

我想用根权限运行bash脚本(
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可能需要尝试一些方法,看看哪些方法有效。