我正在尝试使用反引号在 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`;
对于可能导致此错误的任何见解,我们将不胜感激。
谢谢
最佳答案
您可能使用 bash
在命令行上测试了您的代码,但是当您从 Perl 调用它时,您试图通过 sh
运行它。
要么更改您的命令以与 Bourne shell 兼容,要么显式调用 bash
。
关于linux - 为什么在反引号中出现语法错误,即使它在终端中有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40612753/