我有一个在Linux 64bit上运行的Perl脚本,它看起来像这样:
my $ret = `/my/cmd option1 option2 <(/my/cmd2 input)`
这在bash中有效,但是当我尝试在Perl脚本中执行与反引号相同的命令时,它会抱怨:
sh: -c: line 0: syntax error near unexpected token `('
有什么想法吗?
答案 0 :(得分:5)
我猜您的/bin/sh
与bash无关,请尝试:
my $ret = `bash -c '/my/cmd option1 option2 <(/my/cmd2 input)'`
您可以查看与/bin/sh
相关联的内容:
% ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Apr 5 07:03 /bin/sh -> dash