在Makefile中使用带括号的粘贴

时间:2013-06-12 10:37:55

标签: bash makefile paste parentheses

在Makefile中使用带括号的paste时,我遇到了问题。

我正在尝试运行的指令是:

paste -d " " <(cat file1) <(cat file2 | grep "pattern")

如果我从控制台运行它可以正常工作,但是当把它放在Makefile中时,括号会导致语法错误:

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

基本上我需要的是粘贴两个(或更多)文件的内容,但用grep过滤其中一些文件。

1 个答案:

答案 0 :(得分:6)

你必须告诉make你想要使用什么shell。默认值(/bin/sh)不支持进程替换语法。放

SHELL := /bin/bash

在Makefile顶部的某处。