在 bash 中,我可以这样做:
for name in sqls/*.{schema,migration}.sql; do
echo $name; # some operation on the file name
done
Run Code Online (Sandbox Code Playgroud)
它会输出如下内容:
sqls/0001.schema.sql
sqls/0002.schema.sql
sqls/0003.migration.sql
sqls/0004.schema.sql
sqls/0006.schema.sql
sqls/0007.schema.sql
Run Code Online (Sandbox Code Playgroud)
但是,如果我将相同的循环放入 Makefile:
names:
for name in sqls/*.{schema,migration}.sql; do echo $name; done
Run Code Online (Sandbox Code Playgroud)
输出变成:
sqls/*.{schema,migration}.sql
Run Code Online (Sandbox Code Playgroud)
如何在 Makefile 中做同样的事情?