我正在尝试使用反引号在Perl中运行Linux命令。它在我直接在Linux中运行时有效,但是当Perl通过反引号执行时,我收到此错误:
sh: -c: line 0: syntax error near unexpected token `>'
sh: -c: line 0: `(/src/storageUtil --diagnostic 2> >(tee >(cat >&2) >&1)) > log.txt'
有问题的代码行是:
$output = `(/src/storageUtil --diagnostic 2> >(tee >(cat >&2) >&1)) > log.txt`;
非常感谢任何可能导致此错误的见解。
由于
答案 0 :(得分:10)
您可能已使用bash
在命令行上测试了代码,但是当您从Perl调用它时,您尝试通过sh
运行它。
更改命令以与Bourne shell兼容,或明确调用bash
。