【问题标题】:Exec() not interpreting the multiple commands correctlyExec() 没有正确解释多个命令
【发布时间】:2011-07-22 23:01:08
【问题描述】:

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

【问题讨论】:

  • 你少了一个",不知道你有没有注意到: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)+" .... 但它仍然不起作用。关于为什么它仍然不起作用的任何想法?谢谢!!

标签: java ssh runtime exec runtime.exec


【解决方案1】:

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

如果你想使用 shell,你应该指定 it 作为要执行的命令,并以实际的命令作为它的参数。

【讨论】:

  • erickson ,scp 命令格式如下:scp [[user@]from-host:]source-file [[user@]to-host:][destination-file] 。那么我会将我的命令作为参数放在哪里。该命令将内容从文件夹复制到服务器上的图像文件夹,然后在该服务器上从另一个文件夹运行脚本。我正在尝试这个,但到目前为止仍然不成功。有什么建议么 ??谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 2014-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-08
相关资源
最近更新 更多