在linux终端上编译一些项目时,我通常得到一个包含大量信息的长输出。通常这个信息是MONOCHROME。我想知道bash是否可以以某种方式进行修改,因此在所有输出或某些特定输出中(例如来自Makefile等)我可以获得不同的颜色依赖,例如:
make[1]: Leaving directory
或
g++ -DHAVE_CONFIG_H -I.
等
由于
答案 0 :(得分:14)
我发现在bash中tput setf
不起作用。我发现这个适用于bash的命令运行良好
handy tput commands
tput bold - Bold effect
tput rev - Display inverse colors
tput sgr0 - Reset everything
tput setaf {CODE}- Set foreground color, see color {CODE} below
tput setab {CODE}- Set background color, see color {CODE} below
Colors {code} code for tput command
Color {code} Color
0 Black
1 Red
2 Green
3 Yellow
4 Blue
5 Magenta
6 Cyan
7 White
答案 1 :(得分:10)
当然,只需使用Bash功能,比如说这个:
make()
{
pathpat="(/[^/]*)+:[0-9]+"
ccred=$(echo -e "\033[0;31m")
ccyellow=$(echo -e "\033[0;33m")
ccend=$(echo -e "\033[0m")
/usr/bin/make "$@" 2>&1 | sed -E -e "/[Ee]rror[: ]/ s%$pathpat%$ccred&$ccend%g" -e "/[Ww]arning[: ]/ s%$pathpat%$ccyellow&$ccend%g"
return ${PIPESTATUS[0]}
}
(原来是通过Highlight Warnings in Make。)
答案 2 :(得分:5)
您可以使用tput
命令和terminfo(5)
数据库进行移植。
例如,
tput setf 5
将终端作为标准输出,将前景色设置为紫色(或类似的东西;我是色盲)。 tput setf 0
将前景色重置为默认值。
有关详情,请查看terminfo
。
答案 3 :(得分:1)
安装和使用colormake是另一个简单的选择。
sudo apt-get install colormake
答案 4 :(得分:0)
看起来你想要make(1)的彩色输出。 在这种情况下,我建议使用gnu make补丁 http://git.goodpoint.de/?p=make.git;a=shortlog;h=refs/heads/color-v5.1 在ML上描述:http://old.nabble.com/-rfc--Colorized-output-for-GNU-make--td32547742.html