Exec()无法正确解释多个命令

时间:2011-07-22 23:01:09

标签: java ssh runtime exec runtime.exec

我试图通过exec()运行两个命令,但似乎没有正确解析命令。

我有以下代码:

cmd = "scp -rp /mnt/backups/updateimage/images root@"+Arr.get(i)+":/usr/site/html ; ssh Arr.get(i)+" /usr/site/html/images/untar1.sh";

p = Runtime.getRuntime().exec(cmd);

知道如何格式化我的cmd字符串以便exec正确解释它? 感谢

1 个答案:

答案 0 :(得分:2)

执行多个分号分隔命令是shell提供的功能,但您正在执行scp命令。

如果要使用shell,则应将 it 指定为要执行的命令,并将实际命令作为其参数。