1

次のようなperlスクリプトを介してシェルコマンドを実行しようとしています

 $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')'

このコマンドはシェル上で直接機能しますが、このようには機能しません。私は何が欠けていますか?

4

1 に答える 1

3

このコマンドをテストするためにどのシェルを使用しましたか?

私の最初の推測では、あなたは bash または ksh を使用していましたが、sh (perl exec で使用) は '(' 構文を認識していませんでした。

于 2012-08-13T12:42:17.983 に答える