【发布时间】:2013-06-24 20:12:17
【问题描述】:
我有字符串变量
String var1 = "I am"
String var2 = "here"
String cmd = ("sh /path/shell.sh \""+var1+"\" \""+var2);
Runtime rt = Runtime.getRuntime();
rt.exec(cmd);
但是当我从我的 shell 脚本中执行 echo $1 $2 时,我得到的输出为 I am。为什么引号不起作用?
【问题讨论】:
-
您忘记在 var2 之后关闭
quote(")。 -
"from JAVA" 1) 标题中不需要包含主要标签。 2) 拼写为“Java”,而不是“JAVA”。 3) 阅读(并实施)所有When Runtime.exec() won't 的建议。那可能会解决问题。如果不是,它应该提供更多关于失败原因的信息。然后忽略它引用
exec并使用ProcessBuilder构建Process。 还将String arg拆分为String[] args,以说明本身包含空格的参数。
标签: java jsp shell process runtime.exec