Я пытаюсь получить текст эхо файла Makefile без завершающей новой строки, но не могу. Я испытываю поведение в OS X (в Linux все работает так, как ожидалось).
Makefile
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
нарушается. Что именно происходит? Является ли использование встроенного эха? Очевидно, что наличие двойных кавычек меняет поведение, но почему?
Update
Как было обнаружено @chepner, использование полного пути к /bin/echo
в make файле правильно распознает флаг -n.