向 bash 添加内容以使关键字字符串以某种方式呈现?

Add something to bash to make keyword strings render a certain way?

是否可以配置 bash 以便当程序或脚本打印某些关键字/字符串时,它们通过以特殊方式呈现而突出显示,不同于个人资料中的全局配置?

我刚刚点击这可能是一个非常愚蠢的问题,因为我说的是显示发送到 stdout 的东西,一次一个字符/一个字节...

编辑:答案是通过类似 sed

的管道输出

上下文:我正在使用 Go 的内置 testing 包编写一堆单元测试 – 每次你 运行 一个带有 go test 的测试集它根据结果打印字符串 PASSFAIL。将它们分别涂成绿色和红色会很有用。我认为 可能 创建一个 golang/go 的分支并修改测试包的行为以彩色打印...

示例:

brAir:calc br$ go test
PASS
ok      github.com/benjamin-rood/abm-colour-polymorphism/calc   0.008s
brAir:calc br$ 

我在我的 shell 测试脚本中使用了这个:

... 
OK="\e[0;32mOK\e[00m"        # OK in green
FAIL="\e[0;31mFAIL\e[00m"  # this is red
SKIP="\e[0;33mSKIP\e[00m" # and this yellow
...
# then, for example:
test $res -eq 0 && { printf $OK ; ln -f ${TEST}.out ${TEST}_OK.out ; } || { printf $FAIL ; ln -f ${TEST}.out ${TEST}_FAILED.out ; }
....