Makefile don';t打印标志

Makefile don';t打印标志,makefile,Makefile,如何使make不打印标志 例如: prettycolors: @echo -e "\e[32mIM GREEN\e[0m" 当前行为: $ make prettycolors -e IM GREEN $ make prettycolors IM GREEN 期望的行为: $ make prettycolors -e IM GREEN $ make prettycolors IM GREEN 似乎shell不接受回显标志 您可以指定要使用的echo:(在Mak

如何使make不打印标志

例如:

prettycolors:
    @echo -e "\e[32mIM GREEN\e[0m"
当前行为:

$ make prettycolors
-e IM GREEN
$ make prettycolors
IM GREEN
期望的行为:

$ make prettycolors
-e IM GREEN
$ make prettycolors
IM GREEN

似乎shell不接受回显标志

您可以指定要使用的echo:(在
Makefile
中)

或指定“智能”外壳:

$makeshell=/bin/bash prettycolors

echo-e
不可移植(未由POSIX定义)。事实上,除了一个不以破折号开头的简单字符串(所有选项如
-e
-n
等都不可移植)外,没有任何可移植的方法可以使用
echo
打印任何内容。如果要打印特殊字符,应该使用
printf
,而不是
echo
,这是POSIX定义的,在任何地方都可以使用相同的方式。