【发布时间】:2020-06-19 15:25:32
【问题描述】:
多年来我一直在使用反引号,但这是我第一次尝试使用带括号的命令。我遇到了一个我无法弄清楚的错误。
我尝试在多个位置添加双引号并使用 \ 转义,但似乎没有任何效果。任何帮助将不胜感激。
命令
$file5 和 $file6 是 perl 变量,而不是 bash。
@array = `/usr/bin/join -j 1 -t, <(cat $file5 | awk -F, '{print \$3","\$1}' | sort) <( cat $file6 | awk -F, '{print \$3","\$1}' | sort) `
错误: AH01215: sh: -c: line 0: 意外标记 `(', referer:
附近的语法错误【问题讨论】:
-
我认为错误消息中的
sh是这里的重要提示。 POSIX 未指定进程替换(<(...)语法),并且您的系统的sh似乎不支持它。您可能需要显式调用 Bash,或者自己协调进程通信。 -
您是否有不想直接在 Perl 程序中执行此操作的原因?