1

我正在尝试通过如下所示的 perl 脚本执行 shell 命令

 $cmd = 'cat <(ssh -o \"StrictHostKeyChecking no\" dev-adm1 \'sudo cat /etc/httpd/conf/httpd.conf\')';
 exec $cmd;

这是抛出一个错误

sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `cat <(ssh -o \"StrictHostKeyChecking no\" dev-adm1 'sudo cat /etc/httpd/conf/httpd.conf')'

该命令直接在 shell 上工作,但不是这样。我错过了什么?

4

1 回答 1

3

你用哪个shell来测试这个命令?

我的第一个猜测是您使用了 bash 或 ksh,而 sh(由 perl exec 使用)不知道 '(' 语法

于 2012-08-13T12:42:17.983 回答