shell中设置文字输出的颜色及字体格式

1、Linux中设置文本颜色及背景色

Shell 使用 ANSI 转义码 (ANSI escape codes) 进行颜色输出。转义序列颜色输出表如下

颜色

前景色

背景色

黑色 (Black)

30

40

红色 (Red)

31

41

绿色 (Green)

32

42

××× (Yellow)

33

43

蓝色 (Blue)

34

44

紫红色 (Magenta)

35

45

青色 (Cyan)

36

46

白色 (White)

37

47

echo -e "\033[颜色值m 文本"

这句代码中\033[ 作为转义序列的开始,你也可以使用 "\e[" 颜色值处设定前景色值。m 终止转义序列,后面紧跟着就是生效的文本。echo 需要 -e 来开启转义序列。可以用 printf 代替 echo。

printf  "\e[颜色值m 文本\n"

2、shell中设置字体颜色及背景实例

例1:打印蓝色文本(两种方法)

echo -e "\033[34m Hello World"

printf "\e[34m Hello World\n"

但是这样执行之后,会使得其后面的文本输出都是蓝色,连命令提示符都是蓝色。要使其返回颜色使用 \033[0m。

使用不同的转义序列组合来达到不同的效果,如下面加上背景色的显示:

echo -e "\033[前景色值;背景色值m 文本\033[0m"

前景色值和背景色值使用分号间隔,不分先后,因为两种值的颜色范围不一样,比如 黑色 30 40 。另外分开写同样生效,如 \033[44m\033[32m

3、Linux中设置字体属性(加粗、闪烁、下划线等)

转义序列还可以设置文本在显示屏上显示的方式,如是否加粗等,如下表:

ANSI 码

含义

0

常规文本

1

粗体文本

4

含下划线文本

5

闪烁文本

7

反色(补色)文本

加粗属性合并后,有些变化。如下表:

关闭加粗

颜色

开启加粗

颜色

0;30

黑 (Black)

1;30

深灰 (Dark Gray)

0;31

红 (Red)

1;31

深红 (Dark Red)

0;32

绿 (Green)

1;32

深绿 (Dark Green)

0;33

黄 (Yellow)

1;33

亮黄 (Yellow)

0;34

蓝 (Blue)

1;34

深蓝 (Dark Blue)

0;35

紫红 (Magenta)

1;35

暗紫红 (Dark Magenta)

0;36

青 (Cyan)

1;36

深青 (Dark Cyan)

0;37

浅   灰 (White)

1;37

白 (White)

特效可以叠加,需要使用“;”隔开,例如:闪烁+下划线+白底色+黑字为   \033[5;4;47;30m闪烁+下划线+白底色+黑字为\033[0m

4、shell脚本实现各种字体颜色及背景设置

#!/bin/bash

#

#下面是字体输出颜色及终端格式控制

#字体色范围:30-37

echo -e "\033[30m 黑色字 \033[0m"

echo -e "\033[31m 红色字 \033[0m"

echo -e "\033[32m 绿色字 \033[0m"

echo -e "\033[33m ×××字 \033[0m"

echo -e "\033[34m 蓝色字 \033[0m"

echo -e "\033[35m 紫色字 \033[0m"

echo -e "\033[36m 天蓝字 \033[0m"

echo -e "\033[37m 白色字 \033[0m"

#字背景颜色范围:40-47

echo -e "\033[40;37m 黑底白字 \033[0m"

echo -e "\033[41;30m 红底黑字 \033[0m"

echo -e "\033[42;34m 绿底蓝字 \033[0m"

echo -e "\033[43;34m 黄底蓝字 \033[0m"

echo -e "\033[44;30m 蓝底黑字 \033[0m"

echo -e "\033[45;30m 紫底黑字 \033[0m"

echo -e "\033[46;30m 天蓝底黑字 \033[0m"

echo -e "\033[47;34m 白底蓝字 \033[0m"

#控制选项说明

#\033[0m 关闭所有属性

#\033[1m 设置高亮度

#\033[4m 下划线

echo -e "\033[4;31m 下划线红字 \033[0m"

#闪烁

echo -e "\033[5;34m 红字在闪烁 \033[0m"

#反影

echo -e "\033[8m 消隐 \033[0m "

#\033[30m-\033[37m 设置前景色

#\033[40m-\033[47m 设置背景色

#\033[nA光标上移n行

#\033[nB光标下移n行

echo -e "\033[4A 光标上移4行 \033[0m"

#\033[nC光标右移n行

#\033[nD光标左移n行

#\033[y;xH设置光标位置

#\033[2J清屏

#\033[K清除从光标到行尾的内容

echo -e "\033[K 清除光标到行尾的内容 \033[0m"

#\033[s 保存光标位置

#\033[u 恢复光标位置

#\033[?25| 隐藏光标

#\033[?25h 显示光标

echo -e "\033[?25l 隐藏光标 \033[0m"

echo -e "\033[?25h 显示光标 \033[0m"

5、使用echo让字符串显示不同颜色

下面的命令可写入脚本执行,根据实际情况替换需要改变颜色的文本。

echo -e "\033[30m 黑色字 可替换部分 \033[0m"

echo -e "\033[31m 红色字 可替换部分 \033[0m"

echo -e "\033[32m 绿色字 可替换部分 \033[0m"

echo -e "\033[33m ×××字 可替换部分 \033[0m"

echo -e "\033[34m 蓝色字 可替换部分 \033[0m"

echo -e "\033[35m 紫色字 可替换部分 \033[0m"

echo -e "\033[36m 天蓝字 可替换部分 \033[0m"

echo -e "\033[37m 白色字 可替换部分 \033[0m"

6、通过定义变量的方式给字体加颜色

#!/bin/bash

#通过变量给字体加颜色

RED_COLOR='\E[1;31m'

GREEN_COLOR='\E[1;32m'

YELLOW_COLOR='\E[1;33m'

BLUE_COLOR='\E[1;34m'

PINK_COLOR='\E[1;35m'

RES='\E[0m'

echo -e "${RED_COLOR}=====红色可替换部分=====${RES}"

echo -e "${GREEN_COLOR}=====绿色可替换部分=====${RES}"

echo -e "${YELLOW_COLOR}=====×××可替换部分=====${RES}"

echo -e "${BLUE_COLOR}=====蓝色可替换部分=====${RES}"

echo -e "${PINK}=====粉色可替换部分=====${RES}"

7、开发一个给输出内容加颜色的函数(也可以加背景颜色)

在脚本中传2个参数,给指定内容(第一个参数),加指定颜色(第二个参数)

#!/bin/bash

#通过变量给字体加颜色

#这里定义一个COLOR_1()函数,后面如果想改变字体颜色直接调用即可

COLOR_1(){

RED_COLOR='\E[1;31m'

GREEN_COLOR='\E[1;32m'

YELLOW_COLOR='\E[1;33m'

BLUE_COLOR='\E[1;34m'

PINK_COLOR='\E[1;35m'

RES='\E[0m'

#这里判断传入的参数是否不等于2个,如果不等于2个就提示并退出

if [ $# -ne 2 ];then

echo "Usage $0 content {red|yellow|blue|green|pink}"

exit

fi

case "$2" in

red|RED)

echo -e "${RED_COLOR}$1${RES}"

;;

yellow|YELLOW)

echo -e "${YELLOW_COLOR}$1${RES}"

;;

green|GREEN)

echo -e "${GREEN_COLOR}$1${RES}"

;;

blue|BLUE)

echo -e "${BLUE_COLOR}$1${RES}"

;;

pink|PINK)

echo -e "${PINK_COLOR}$1${RES}"

;;

*)

echo -e "请输入指定的颜色代码:{red|yellow|blue|green|pink}"

esac

}

COLOR_1 "程序安装报错!" red

COLOR_1 "程序安装成功!" green

COLOR_1 "输出相关注释信息" blue

转载于:https://blog.51cto.com/longlei/2357898

shell中设置文字输出的颜色及字体格式相关推荐

  1. C语言中设置文字颜色

    记得刚接触C语言时,上机运行代码输出结果每次都是黑色的控制台白色的文字..... 就像下面这样.视觉体验极差,十分的不美观.感觉很low. 这就引发了我的思考,输出结果必须是黑框白字吗? 显然不是这样 ...

  2. 计算机一级文字处理公式,一级考试WPS2007:让公式中的文字变个颜色

    一级考试WPS2007:让公式中的文字变个颜色 分类:计算机等级 | 更新时间:2016-07-08| 来源:转载 金山文字2007自从添加公式编辑器的功能之后,使我们的公式输入问题得以轻松解决.不过 ...

  3. 计算机考试文字颜色不对,2017年计算机一级考试WPS2007:让公式中的文字变个颜色...

    金山文字2007自从添加公式编辑器的功能之后,使我们的公式输入问题得以轻松解决.不过,在实际工作中,有时我们会需要设置公式的颜色更加醒目突出,而默认的黑色就会显得力不从心.怎样才能设置公式的颜色不再乌 ...

  4. java基础IO流使用读取一个文件中的文字输出到控制台上

    读取一个文件中的文字输出到控制台上 import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IO ...

  5. 怎么在CAD编辑软件中设置文字样式

    在CAD中,一般绘制图纸的时候都需要将图纸的文字样式进行设置.那么,怎么在CAD编辑软件中设置文字样式呢?具体要怎么来进行操作呢?相信很多的小伙伴们都想要知道,那下面小编本编教程就来教教大家具体的操作 ...

  6. 花里胡哨,如何在Linux终端输出带有颜色的字体,将带颜色的字体赋值给变量...

    背景 ​ 在日常操作Linux的情况下,总会遇到一些需求,比如说,把输出的内容用不同颜色标注出来,以达到醒目.提示的目的,那么如何在Linux终端输出带有颜色的字体呢? Linux终端输出字符颜色 ​ ...

  7. easypoi导出excel不设置样式_EasyPOI 导出excel设置边框,背景颜色,字体样式

    EasyPOI 导出excel设置边框,背景颜色,字体样式 EasyPOI 导出代码示例ExportParams exportParams = new ExportParams(); exportPa ...

  8. Android 一个TextView中设置文字不同字体大小和颜色的最完整方法

    在做项目的时候,经常会遇到过一行文字有两种颜色.有时候直接会想到用多个TextView来实现.今天就介绍一下更为简单的方法,用一个TextView实现. 效果: 这几个都实现了一行字有不同颜色,还有两 ...

  9. 在shell中使用echo命令输出带颜色的文本-转

    google了好久,终于搞明白了怎么输出带颜色的文本. 首先熟悉一下echo命令 名称        echo - 显示一行文本 概要        echo [选项]... [字符串]... 描述 ...

最新文章

  1. TCP三次握手和四次挥手的解释
  2. CentOS 6.0配置pptp ××× Client和Squid透明网关
  3. SAP WM初阶LQ02报错 - Movement Type 901 for manual transfer orders does not exist -
  4. 【0805作业】模拟多人爬山
  5. had oop 链接mysql_php – 将MySQL连接查询与OOP和对象相关联的最佳实践方法
  6. 【工业控制】PolyWorks 2020基础教程
  7. 扫描二维码读取文档_使用深度学习读取和分类扫描的文档
  8. 记忆化搜索 codevs 2241 排序二叉树
  9. input 限制只能输入数字,且保留小数后两位
  10. html缩放排版乱了_交作业 | 代码排版逐行显现效果
  11. CSS Reset的相关概念及实例
  12. pdf怎么转换成ppt
  13. 技术方案SOW工作文档模板
  14. 拿来就能跑,1200多套微信小程序源码-史上最全的不同行业的源码集合
  15. dataset 用法(1)
  16. 信息安全与管理的分析理解
  17. win7网络打印机重启后脱机的问题
  18. 植物大战僵尸存档关卡和金币修改
  19. Java版90经典坦克大战下载_经典90坦克大战
  20. [软件设计] 控制反转(Inversion of Control)随想

热门文章

  1. php如何上传txt文件,并且读取txt文件
  2. PNP8550(3.3V DC蜂鸣器) - 原理图系列
  3. ios 的frame,bound,center
  4. Linux core dumps 的生成
  5. 一句话总结重构、重载、重写
  6. c#.net 生成清晰缩略图的解决方案
  7. Spark 异步Action
  8. vs2017 EFCore 迁移数据库命令
  9. BIOS中的UEFI和Legacy启动模式
  10. BZOJ2806:[CTSC2012]Cheat