【发布时间】:2023-11-04 06:03:01
【问题描述】:
我想我以前做过:当我执行命令行“make”时,我希望我的输出颜色编码 - 你知道黄色表示警告,红色表示错误。
知道如何在 BASH shell 中执行此操作吗?
谢谢! 贾斯
【问题讨论】:
我想我以前做过:当我执行命令行“make”时,我希望我的输出颜色编码 - 你知道黄色表示警告,红色表示错误。
知道如何在 BASH shell 中执行此操作吗?
谢谢! 贾斯
【问题讨论】:
有一个名为colormake 的程序,它封装了真正的make,它完全符合您的要求。您可能想检查一下并尝试一下;根据经验,它运作良好。
【讨论】:
我可以建议在 Bash 中使用以下颜色方法,它可以使代码更具可读性,并且让您更难错过一两次转义。
将以下内容放入您的~/.bashrc
BLACK=$(tput setaf 0)
RED=$(tput setaf 1)
GREEN=$(tput setaf 2)
LIME_YELLOW=$(tput setaf 190)
YELLOW=$(tput setaf 3)
POWDER_BLUE=$(tput setaf 153)
BLUE=$(tput setaf 4)
MAGENTA=$(tput setaf 5)
CYAN=$(tput setaf 6)
WHITE=$(tput setaf 7)
BRIGHT=$(tput bold)
NORMAL=$(tput sgr0)
BLINK=$(tput blink)
REVERSE=$(tput smso)
UNDERLINE=$(tput smul)
所以你的例子就是:
echo "Error Code: ${RED}1234${NORMAL}"
如果您有 256 色终端,您可以尝试使用其他数值到 tput setaf 一直到 255。
【讨论】:
如果您的终端支持ANSI escape sequences(大多数终端仿真器都支持),那么这是可行的方法。
例如以红色显示一个单词:
echo -e '\033[31m RED \033[0m Normal'
【讨论】:
使用 ANSI 转义序列。以下是 bash 中颜色的简短介绍:
【讨论】: