【发布时间】:2012-07-25 09:07:45
【问题描述】:
我试图让我的 Makefile 回显文本没有尾随的新行,但我做不到。我正在体验 OS X 上的行为(在 Linux 上一切正常)。
生成文件
a:
@echo -n "hello"
b:
@echo -n hello
c:
@/bin/echo -n "hello"
输出:
$make a
-n hello
$make b
hello$make c
hello$
换句话说,make a 坏了。到底发生了什么?是否使用内置回声?显然双引号的存在会改变行为,但为什么呢?
更新
@chepner 发现,在 makefile 中使用 /bin/echo 的完整路径可以正确理解 -n 标志。
【问题讨论】: