我将字符串变量设置为
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。为什么引号不起作用?
发布于 2013-06-27 19:47:41
您需要按如下方式调用该命令:
Process process = new ProcessBuilder().command("sh", "/path/shell.sh", var1, var2);
Scanner scan = new Scanner(process.getInputStream());
while(scan.hasNextLine()) {
//...
}
//...
scan.close();
process.destroy();您可能也希望将其包装在try-catch块中。
https://stackoverflow.com/questions/17341241
复制相似问题