我希望我的makefile输出能够进行颜色编码。
但是我不能让ANSI颜色代码在这个终端上工作。尽管如此,ls --color
给了我丰富多彩的输出,我的shell提示也是彩色的:
$ echo $PS1
\[\033]0;$MSYSTEM:\w\007 \033[32m\]\u@\h \[\033[33m\w\033[0m\] $
我怀疑第一部分可能会将终端设置为特殊模式,以便接受颜色代码。有人可以解释一下吗?
答案 0 :(得分:6)
我解决了。
要使用的命令是echo -e
。
所以,在makefile中:
foo.o: foo.c
@echo -e "\033[32mCompiling foo.c\033[0m"
$(CC) $(CFLAGS) -c -o $@ $<
我认为这也适用于bash。