perl执行命令,其中输入来自<(cmd2输入)

时间:2016-04-28 08:21:07

标签: bash perl

我有一个在Linux 64bit上运行的Perl脚本,它看起来像这样:

my $ret = `/my/cmd option1 option2 <(/my/cmd2 input)`

这在bash中有效,但是当我尝试在Perl脚本中执行与反引号相同的命令时,它会抱怨:

sh: -c: line 0: syntax error near unexpected token `('

有什么想法吗?

1 个答案:

答案 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