在线更改文字颜色?
简短的问题:
使用bash,是否可以打印一个句子,使每个单词具有不同的颜色?
即; 在线打印一个字,改变文字颜色,重复?
ANSI转义序列
您可以使用ANSI转义序列。 它应该在文本屏幕以及大多数Linux终端窗口模拟器中工作。
有关详情,请参阅此链接
en.wikipedia.org/wiki/ANSI_escape_code
示例1:黑色背景上的白色文本
echo -e "\0033[37;40m###############\0033[0m"
示例2:灰色白色背景上的黑色文本
echo -e "\0033[30;47m###############\0033[0m"
示例3:使用变量inversvid
, greenback
, resetvid
和resetvid
inversvid="\0033[7m" resetvid="\0033[0m" greenback="\0033[1;37;42m" blueback="\0033[1;37;44m" echo -e "$inversvid Now it is inverse colours $resetvid" echo -e "$greenback Now it is greenback $resetvid and $blueback now blueback $resetvid"
声明并存储变量
我在bash shellcripts中使用的基本ANSI颜色变量的示例,您可能会发现它很有用,
inversvid="\0033[7m" resetvid="\0033[0m" redback="\0033[1;37;41m" greenback="\0033[1;37;42m" blueback="\0033[1;37;44m"
高级ANSI颜色变量的示例(几乎与mkusb徽标颜色匹配),
logoansi="\0033[38;5;0;48;5;148m"
高级ANSI颜色适用于大多数终端窗口仿真器,但不适用于文本屏幕,其中颜色默认为“最近的基本颜色”。
- 可以直接在bash shellcript中声明和存储变量(在开头附近,至少在它们被使用之前)。
- 如果要以交互方式使用它们,可以在配置文件
~/.bashrc
声明和存储变量
当然,您可以创建[modified]变量来执行您想要的操作。