Java Exec()未正确解释多个命令

Java Exec()未正确解释多个命令,java,ssh,runtime,exec,runtime.exec,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正确解释它吗? 感谢执行多个分号分

我试图通过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正确解释它吗?
感谢

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


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

您缺少一个
,不知道您是否注意到:cmd=“scp-rp/mnt/backups/updateimage/images root@”+Arr.get(i)+:/usr/site/html;ssh“+Arr.get(i)+”/usr/site/html/images/untar1.sh”;MByD仍然不起作用我给了ssh“+Arr.get(i)+”…但仍然不起作用。关于为什么它仍然不起作用有什么想法吗?谢谢!!埃里克森,scp命令的格式如下:scp[[user@]from host:]源文件[[user@]到host:[目的文件]。那么,我应该将命令作为参数放在哪里。该命令将内容从一个文件夹复制到服务器上的“图像”文件夹,然后在该服务器上运行另一个文件夹中的脚本。我正在尝试此操作,但到目前为止仍不成功。有任何建议吗?谢谢!