bash以彩色输出日志行或部分行

问题描述

我正在使用Mac终端,将ssh转换为Linux上的bash帐户

我已经在命令行提示符处应用了以下颜色:

#bash_profile
parse_git_branch() {
     git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "

因此[\033..部分做到了。

但是,我也想这样做,以控制台正在运行的php脚本上的日志,特别是为日期和跟踪ID上色,以使它们不那么关注:

Aug 12 16:08:04.5072 [d05lo653148oocks0ook4oc04] [warning] Hash value: 39d26fdee9eb472ab72dafbaf88801b5
Aug 12 16:08:04.5146 [d05lo653148oocks0ook4oc04] [ORM] [debug] Kernel_Core_Orm::commit

也许还可以为[warning]上色,例如使用其他颜色。

我该怎么做?

解决方法

检查:

$ php -r 'echo "\033[38;5;1mgood \033[38;3;2mluck \033[0mdude\n";'

\ 033 [->转义字符
38->前景,将48用作背景。
5->不知道,你告诉我;-)
1->红色,范围从0到255。
m->关闭转义

最后一部分\033[0m重设为默认端子颜色。

根据您的情况,使用类似以下的内容。

<?php
echo "\033[38;5;6mAug 12 16:08:04.5072\033[0m [d05lo653148oocks0ook4oc04] \033[38;5;11m[warning]\033[0m Hash value: 39d26fdee9eb472ab72dafbaf88801b5";

我曾经写过一篇关于它的文章,check出来。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...