转义字符\033(设置终端的字体显示效果)

news2024/11/19 9:38:34

以下内容源于网络资源的学习与整理,如有侵权请告知删除。

参考博客

命令行特殊显示效果\033和发声音\007_华硕他哥的博客-CSDN博客

'\033'格式:指定输出格式_51CTO博客_wkt格式

一、\033的说明 

在关于ASCII字符的那些事儿中提到,ASCII字符可以使用前面带反斜杠的八进制或者十六进制数字来表示单个字符。

这里的\033就是这个意思,反斜杠后面的033是八进制,化为十进制是27,对应着ASCII字符集表格上十进制编号为27的字符,即ESC。这个字符用来控制打印机的输出格式。

二、设置显示效果 

1、格式说明 

在linux中,我们可以利用这个字符来设置终端上的字体显示效果。

比如使用echo命令并利用\033控制字体显示效果的格式如下:

echo -e "\033[参数1;参数2;参数3m要显示的内容\033[0m

(1)\033[参数1;参数2;参数3m,是控制码的写法,表明后面待显示内容的格式。

(2)参数1表示字体背景颜色,可选值为40~49、100~107;参数2表示字体颜色,可选值为30~39、90~97;参数3表示显示效果,可选值为0~8。这些数字的含义见附录。

(3)要显示的内容中可以有变量的引用,显示的时候会展开变量的内容。

(4)\033[0m是具体的控制码,表明关闭所有属性。如果在格式最后没有添加这个控制码来关闭所有属性,那么“\033[字体背景颜色;字体颜色m”所设置的格式将应用于接下来的所有显示。

当然也可以根据需要修改这个具体的控制码,但一般不这么做。

2、注意事项

(1)如果没有设置字体背景颜色这个内容,则不需要添加字体颜色之前的分号。

比如echo -e "\033[36mwhat's your name:\033[0m"的显示效果如下:

(2)字母m和结尾\033[0m之间的内容,就是要显示在终端的内容。字母m后面如果紧跟着空格,那么也会被当做字符输出。

(3)如果要显示的内容结尾是某个特殊符号(比如!)则可能会报错,需要在这个特殊符号与\033[0m之间输入一个空格。

附录

(1)字体颜色设置说明(斜杆前后的数字表示同一种颜色,但斜杆后面的数字让颜色更亮)。

数字描述
30\90黑色

31\91

红色
32\92绿色
33\93黄色
34\94蓝色
35\95紫色
36\96深绿
37\97白色

(2)字体背景颜色设置说明(斜杆前后的数字表示同一种颜色,但斜杆后面的数字让颜色更亮)

数字描述
40\100黑色

41\101

红色
42\102绿色
43\103黄色
44\104蓝色
45\105紫色
46\106深绿
47\107白色

(3) 控制码说明

控制码含义
\033[0m关闭所有属性 
\033[1m设置高宽度
\033[4m下划线 
\033[5m闪烁 
\033[7m反显
\033[8m消隐
\033[30m ~ \033[37m  设置前景色
\033[40m ~ \033[47m设置背景色
\033[nA  光标上移n行
\033[nB光标下移n行 
\033[nC光标右移n行 
\033[nD光标左移n行 
\033[y;xH设置光标位置 
\033[2J清屏 
\033[K清除从光标到行尾的内容 
\033[s保存光标位置
\033[u恢复光标位置
\033[?25l隐藏光标
\033[?25h显示光标

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/388542.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年天津医科大学临床医学院专升本专业课考试通知

天津医科大学到临床医学院2023年高职升本科专业课考试通知一、考试时间、地点 天津医科大学临床医学院2023年高职升本科考试定于2023年3月25日举行,考试地点为天津市滨海新区大港学苑路167号天津医科大学临床医学院教学楼。 二、准考证打印开放时间 本次考试打印准考…

3.4笔试总结

感觉题目好难没有做过这种类型的填空题真的是给应届实习生做的题吗第一大题 填空题一开始题目放在pdf里,我都没看清题目想干嘛其实题目看起来复杂.如果仔细读题意还是能做出几个空,无奈我太过紧张浪费了好几分钟空档时间public class Main { public static boolean isRegularMa…

内核角度谈谈Linux进程和线程

目录前言内核对进程和线程的表示创建进程的过程创建线程的过程创建进程和线程的异同揭秘 do_fork 系统调用结论前言 昨天面试的时候,面试官问我了个平平淡淡的问题–>“聊聊Linux中进程和线程”; 相比大家不管是在考试还是面试中或多或少都遇到过这个问题&…

python高德地图+58租房网站平台源码

wx供重浩:创享日记 对话框发送:python地图 免费获取完整源码源文件说明文档配置教程等 在PyCharm中运行《高德地图58租房》即可进入如图1所示的高德地图网页。 具体的操作步骤如下: (1)打开地图网页后,在编…

xgboost:防止过拟合的方法收缩和特征列、采样

xgboost除了第2.1节中提到的正则化目标之外,还使用了另外两种技术来进一步防止过拟合1。 目录shrinkage[^1]Column Subsampling[^2]shrinkage2 第一种技术是由弗里德曼提出的收缩。在树提升的每一步之后,收缩率以η因子的比例缩放新添加的权重。与随机优…

Scrapy框架(高效爬虫)

文章目录一、环境配置二、创建项目三、scrapy数据解析四、基于终端指令的持久化存储1、基于终端指令2、基于管道3、数据同时保存至本地及数据库4、基于spider爬取某网站各页面数据5、爬取本页和详情页信息(请求传参)6、图片数据爬取ImagesPipeline五、中…

IP欺骗种类有哪些?

每台计算机都有一个IP地址,发送的任何数据都被分成许多块(“数据包”),每个数据包单独传输,当这些数据包到达链的末端时,就会重新组装并作为一个整体呈现。此外,每个数据包还有其可识别信息&…

4、High-Resolution Image Synthesis with Latent Diffusion Models

简介github地址diffusion model明显的缺点是耗费大量的时间、计算资源,为此,论文将其应用于强大的预训练自编码器的潜在空间 ,这是首次允许在复杂性降低和细节保存之间达到一个近乎最佳的点,极大地提高了视觉保真度。通过在模型架…

操作系统复习题

什么是线程? 线程(Thread):轻量级进程,是操作系统进行调度的最小单位。一个线程是一个任务(一个程序段)的一次执行过程。线程不占有内存空间,它包括在进程的内存空间中。在同一个进程…

自然语言处理历史最全预训练模型(部署)汇集分享

什么是预训练模型?预练模型是其他人为解决类似问题而创建的且已经训练好的模型。代替从头开始建立模型来解决类似的问题,我们可以使用在其他问题上训练过的模型作为起点。预训练的模型在相似的应用程序中可能不是100%准确的。本文整理了自然语…

踩坑:maven打包失败的解决方式总结

Maven打包失败原因总结如下: 失败原因1:无法使用spring-boot-maven-plugin插件 使用spring-boot-maven-plugin插件可以创建一个可执行的JAR应用程序,前提是应用程序的parent为spring-boot-starter-parent。 需要添加parent的包spring-boot…

QML组件

一个QML文件定义了一个独立的、顶级的QML组件。 一个QML组件就是一个模板,被QML运行环境解释来创建一个带有一些预定义行为的对象。 一个独立的QML组件可以运行多次来禅城多个对象,每个对象都可以称为该组件的实例。 例子: 在项目中添加一…

Redis基础入门

文章目录前言一、redis是什么?二、安装步骤1.下载安装包2.安装三、Redis的数据类型redis是一种高级的key-value的存储系统,其中的key是字符串类型,尽可能满足如下几点:字符串(String)列表(List)集合(Set,不允许出现重复…

MySQL面试题-索引篇

1.什么是索引 MySQL的索引是一种数据结构,可以用于加快数据库中数据的查询速度。索引是基于表中一个或多个列的值排序的快速查找数据结构,可以大大提高查询效率。MySQL支持多种类型的索引,如B-tree索引、哈希索引、全文索引等。 索引可以在…

【java基础】异常处理(Exception)

文章目录基本介绍异常分类抛出异常非检查型异常检查型异常捕获异常捕获单个异常捕获多个异常创建自定义异常类finally字句try-with-Resource总结基本介绍 对于一个程序,总是有bug的。如果我们的程序遇到一个错误就终止了,那么肯定是不合理,程…

数据爬取(urllib+BeautifulSoup)

文章目录知识点总结爬虫步骤爬虫三要素爬虫注意事项python爬取技术学习网页抓取库Urllib网页解析库Beautifulsoup案例知识点总结 爬虫是一种按照一定规则,自动抓取互联网上网页中的相应信息的程序或脚本。 爬虫步骤 1.需求分析 2.找到要爬取信息的网站 3.下载reque…

基于halo后台管理+Gblog-wx搭建的微信小程序

先决条件 1、已经通过docker安装了halo后台管理系统(参考:http://43.136.39.20:8090/archives/halo-build) 2、安装的halo版本为1.5.3版本。此版本的halo才能安装小程序主题并启动小程序 3、需要修改小程序文件配置 解决安装的不是1.5.3的halo 1、如果是docker安装的halo…

蓝牙技术|蓝牙5.4标准正式发布,蓝牙ESL电子价签迎来一波利好

蓝牙技术联盟于2023年1月31日批准了蓝牙核心规范v5.4版本(以下简称蓝牙5.4版本),并已正式公布。 蓝牙5.4版本引入了四个新特性,如下: 广播数据加密(Encrypted Advertising Data):对广播数据进行加密以提高广播数据传…

[神经网络]Swin Transformer网络

一、概述 Swin Transformer是一个用了移动窗口的层级式Vision Transformer。 在图像领域,Transformer需要解决如下两个问题: ①尺度问题:同一语义的物体在图像中有不一样的尺度。(大小不同) ②Resolution过大:若以像素点作为单位&…

利用python写一个gui小公举--环境搭建

文章目录背景搭建环境安装必要库添加工具快捷方式检验背景 在实习过程中遇到一个问题,某项目是通过python代码实现的,而且需要一直修改参数实现功能,过程有些繁琐。虽然师兄用PHP study搭了一个网站用于查看结果,但是还是过于繁琐…