我希望我的makefile输出能够以彩色显示。
但是在这个终端上,我无法让ANSI颜色代码起作用。尽管这应该是可能的,因为“ls --color”命令给出了彩色的输出,并且我的shell提示符也是彩色的:
但是在这个终端上,我无法让ANSI颜色代码起作用。尽管这应该是可能的,因为“ls --color”命令给出了彩色的输出,并且我的shell提示符也是彩色的:
$ echo $PS1
\[\033]0;$MSYSTEM:\w\007 \033[32m\]\u@\h \[\033[33m\w\033[0m\] $
我猜想第一部分可能是将终端放入特殊模式,以便接受颜色代码。有人能解释一下吗?
printf
代替echo
。它非常好用,可以进行字符串插值,适用于通用消息函数等等。你可以使用减号 v (-v VAR
) 选项将 stdout 值分配给变量,而且通常被认为比echo
更具可移植性。虽然我不确定它是否原生存在于 MinGW 中,因为我正在运行 GoW (GNU on Windows) 和其他一些 win32 编译的 *nix 工具。哦,而且也没有强制-e
开关,只需像这样使用printf "\033[32mFoo\033[0m"
或printf "\033[32m%s\033[0m" "foo"
即可。 - Rob Jens