2

我在远程主机中有一个脚本,我作为 ./test /a/b/c/f 运行,它在机器上运行得非常好。

现在我在主机上,我运行与 ssh root@dst "./test /a/b/c/f" 相同的脚本,这也运行良好。

但是从我的 perl 脚本中,我使用反引号作为

$file = "/a/b/c/f";
`ssh root\@dst "./test $file"`;

或者

system("ssh root\@dst \"./test $file\" ");

它说 bash:./test 没有这样的文件或目录。

我尝试使用单个 \ 和 \ 转义 $file。即使这样也行不通。任何想法如何解决这个问题,

谢谢。

4

1 回答 1

3

您是否尝试过使用绝对路径而不是基于 ./ 的路径?它可能会解决这个问题,并且通常比依赖于任何设置 cwd(可能是基于历史的 bash)每次都以相同的方式设置它更安全(尤其是在以 root 身份连接时)。

于 2010-06-29T23:18:08.173 回答