将参数传递给java类的sh文件

时间:2014-02-17 04:58:43

标签: java shell sh

我在java中有一个方法在ubuntu中执行shell脚本。

String[] cmd = {"/bin/sh", "startdomain.sh"};
Process proc = Runtime.getRuntime().exec(cmd);

startdomain.sh如下:

#!/bin/sh
gksudo -P "/home/priyatam/glassfish-4.0/glassfish/bin/asadmin start-domain domain1"

我需要将域名(此处为domain1)作为java类的参数传递。 如何实现这一点。

1 个答案:

答案 0 :(得分:2)

应该能够像通常那样在命令行上传递参数:

String domain1 = "some domain name";
String[] cmd = {"/bin/sh", "startdomain.sh " + domain1};
Process proc = Runtime.getRuntime().exec(cmd);

然后更改startdomain.sh,以便将domain1当前的参数设置为:

#!/bin/sh
gksudo -P "/home/priyatam/glassfish-4.0/glassfish/bin/asadmin start-domain $1"