bashshell脚本使用ASCII颜色显示文本信息示例

在bash shell脚本中我们可以使用ASCII颜色来显示文本信息。

目前创新互联公司已为上千多家的企业提供了网站建设、域名、网站空间、网站托管、服务器托管、企业网站设计、石龙网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

格式:\033\[31m hello \033[0m

##m:

左侧#:这个#可以是3或者4,作用不一样。

3:前景色

4:背景色

右侧#:颜色种类

1,2,3,4,5,6,7

前景和背景同时使用:\033[##;##m hello \033[0m

#m:

加粗、闪烁等功能。

多种控制符,可组合使用,彼此间使用分号隔开。

演示:

bash shell脚本使用ASCII颜色显示文本信息示例

演示背景色

bash shell脚本使用ASCII颜色显示文本信息示例

前景和背景同时使用

bash shell脚本使用ASCII颜色显示文本信息示例

加粗、闪烁功能

bash shell脚本使用ASCII颜色显示文本信息示例

bash shell脚本使用ASCII颜色显示文本信息示例

 

实战演练:

给自己的Linux的PS1变量添加上颜色,比如:bash shell脚本使用ASCII颜色显示文本信息示例

1、首先是我们要给自己的PS1要显示的颜色部分添加值。

 export PS1='[\033[31m\u\033[0m@\033[32m\h\033[0m \033[35m\W\033[0m]\$'

这样子设置真的很不错,达到了我们的需求,但是他是有问题的,就是比如当你在输入很长的字符串之后,你会发现bash不能自动换行显示,而是覆盖同一行的开头的部分,慢慢的往后覆盖掉一开始输入的内容,这是很不乐观的,否则当我们输入过长的内容时,显示内容是个问题怎么行呢?

初步判断是加上了颜色代码才出现这样的问题,这可能是在PS1环境变量中,颜色代码不适合直接添加至PS1中,所以我们需要进行改正,就是每个颜色代码后都加上 \[ 和 \] 。

例如:

export PS1='[\[\033[31m\]\u\[\033[0m\]@\[\033[32m\]\h\[\033[0m\] \[\033[35m\]\W\[\033[0m\]]\$'

可以看出有多少个颜色代码就要加上多少个  \[  和  \] 才行。这样子设置好之后,这个毛病就没有了,我们继续可以愉快的在终端输入长命令了。


网页名称:bashshell脚本使用ASCII颜色显示文本信息示例
URL地址:http://scyanting.com/article/jdehoh.html