【发布时间】:2011-10-18 19:52:42
【问题描述】:
我有一个简单的 Makefile,它只包含这个目标。它看起来像这样:
SHELL:=/bin/bash
clean:
rm !(*.tex|Makefile|*.pdf)
当我在 bash 中运行此命令时,它工作正常,即它没有给出错误并且它会删除所需的文件。但是,当我运行 make clean 时,会出现以下错误:
$ make clean
rm !(*.tex|Makefile|*.pdf)
/bin/bash: -c: line 0: syntax error near unexpected token `('
/bin/bash: -c: line 0: `rm !(*.tex|Makefile|*.pdf)'
make: *** [clean] Error 1
有人知道我做错了什么吗?谢谢。
【问题讨论】:
-
很好的语法可以清除除 Makefile 本身、乳胶源和任何生成的 pdf 之外的所有内容。
标签: bash shell makefile wildcard