在构建了一些东西后,make
我想将所有.cache.{js,woff}
以子文件夹结尾的文件移动。
(cd $(PFROOT)/PVWR2/gwt/pdfwebviewer/; \
mkdir -p cache_files; \
mv *.cache.{js,woff} sub_folder)
问题是,在运行时make
它似乎解释*.cache.{js,woff}
为文件名而不是动态的东西,当然没有文件具有明确的名称*.cache.{js,woff}
。当我只是导航到该文件夹并使用上述命令从外壳手动移动它时,它可以顺利工作。
我知道它与通配符有关,但我不知道如何解决这个问题。
{...}
是用于大括号扩展的特定于 bash 的语法,但/bin/sh
默认使用 make 而不是bash
.从
info make
第 5.3.2 节:如果要使用 bash 解析 Makefile 中的 shell 结构,可以在顶部添加以下内容: