我试图让我的 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 所发现的,/bin/echo
在makefile 中使用完整路径可以正确理解-n 标志。