gpt4 book ai didi

bash - 如何在 bash shell 中自动为程序输出着色?

转载 作者:行者123 更新时间:2023-11-29 08:54:13 26 4
gpt4 key购买 nike

我想获取任何输出到屏幕的程序,捕获输出,并在某些关键字输出到屏幕之前对其进行着色。例如,这是正常的程序输出:

bash# <program>
blah blah blah <-- this output has no color

对比

bash# <program>
blah blah blah <-- this output is colorful

理想情况下,程序是什么并不重要。我只是在寻找一种将更多颜色融入我的 konsoles 的好方法。

编辑:抱歉,应该已经清楚了。我不只是试图着色 shell 脚本输出。

最佳答案

#!/bin/sh
redf=$(tput setaf 1)
redb=$(tput setab 1)
reset=$(tput op)
echo "${redf}red${reset} in front, ${redb}red${reset} in back"

参见 terminfo用于终端功能的长列表。带有后缀 -m(例如 ansi-m)的 $TERM 表示屏幕是单色的,但只要颜色有效,以下字符串能力应该是非空的:

       enter_bold_mode               bold         md        turn on bold (extra                                                            bright) mode       enter_italics_mode            sitm         ZH        Enter italic mode       enter_reverse_mode            rev          mr        turn on reverse                                                            video mode       orig_pair                     op           op        Set default pair to                                                            its original value       set_a_background              setab        AB        Set background                                                            color to #1, using                                                            ANSI escape       set_a_foreground              setaf        AF        Set foreground                                                            color to #1, using                                                            ANSI escape

颜色 0-7 非常标准:黑色、红色、绿色、黄色、蓝色、品红色、青色、白色。除此之外可能不存在或可能更多变。

关于bash - 如何在 bash shell 中自动为程序输出着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1085432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com