linux – 为什么我在反引号中会出现语法错误,即使它在终端中有效?

前端之家收集整理的这篇文章主要介绍了linux – 为什么我在反引号中会出现语法错误,即使它在终端中有效?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用反引号在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相关文章