鉴于这个非常简单Makefile
:
all:
@mkdir -pv test/{a,b}
我在 OS X 10.6.8 和 CentOS 5.5 上得到这个输出:
mkdir: created directory `test'
mkdir: created directory `test/a'
mkdir: created directory `test/b'
但是在 Ubuntu 11.04 上我得到了这个:
mkdir: created directory `test'
mkdir: created directory `test/{a,b}'
在所有平台上的 shell 中手动运行命令mkdir -pv test/{a,b}
会产生预期的结果。
GNU Make 的版本在所有平台上都是相同的:
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program is built for [PLATFORM]
在 Ubuntu 下有什么不同,为什么 shell 扩展在那里不起作用?