在 Linux 中更改 echo 的输出颜色

在这里插入图片描述

文章目录

  • 前言
  • 一、快速入门
  • 二、基本使用
    • 2.1 对于常规的输出
    • 2.2 对于字体加粗的输出
    • 2.3 对于字体斜体的输出
    • 2.4 对于带下划线的输出
    • 2.5 对于闪烁效果的输出
  • 三、小结

前言

  在计算机编程世界中,颜色不仅仅是一种视觉效果,它也是一种信息传递的工具。特别是在Linux的命令行界面,颜色的使用可以极大地提升我们的工作效率。今天,我们就来深入探讨一下在Linux中如何更改 echo 命令的输出颜色,让代码更加生动、易读。

一、快速入门

  在shell脚本中定义颜色变量,使用 echo -e 调用变量。定义变量的时候,把echo -e定义到变量中,然后输出变量。格式及选项如下所示:

\033[显示方式;前景色;背景色m
说明
显示方式0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)
背景色40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)

示例如下图所示:

echo -e "\033[1;31;42mHelloWorld\033[0m" 

请添加图片描述

  • 字颜色: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;37m 红底白字 \033[0m"
    echo -e "\033[42;37m 绿底白字 \033[0m"
    echo -e "\033[43;37m 黄底白字 \033[0m"
    echo -e "\033[44;37m 蓝底白字 \033[0m"
    echo -e "\033[45;37m 紫底白字 \033[0m"
    echo -e "\033[46;37m 天蓝底白字 \033[0m"
    echo -e "\033[47;30m 白底黑字 \033[0m"
    
  • 其他内容

    # 关闭所有属性 
    echo -e "\33[0m"
    # 设置高亮度
    echo -e "\33[1m"
    # 下划线
    echo -e "\33[4m" 
    # 闪烁
    echo -e "\33[5m"
    # 反显
    echo -e "\33[7m"
    # 消隐
    echo -e "\33[8m"
    

二、基本使用

2.1 对于常规的输出

# Reset
Color_Off='\033[0m'       # Text Reset# Regular Colors
Black='\033[0;30m'        # Black
Red='\033[0;31m'          # Red
Green='\033[0;32m'        # Green
Yellow='\033[0;33m'       # Yellow
Blue='\033[0;34m'         # Blue
Magenta='\033[0;35m'      # Magenta
Cyan='\033[0;36m'         # Cyan
White='\033[0;37m'        # Whiteecho -e "${Red}I like Linux${Color_Off} normal."

0; 是默认值,可以忽略。

  • 测试字体颜色

    echo -e "e[1;30m linux e[0m"   ## 30 黑色
    echo -e "e[1;31m linux e[0m"   ## 31 红色
    echo -e "e[1;32m linux e[0m"   ## 32 绿色
    echo -e "e[1;33m linux e[0m"   ## 33 黄色
    echo -e "e[1;34m linux e[0m"   ## 34 蓝色
    echo -e "e[1;35m linux e[0m"   ## 35 紫色
    echo -e "e[1;36m linux e[0m"   ## 36 天蓝色
    echo -e "e[1;37m linux e[0m"   ## 37 白色
    

    请添加图片描述

  • 测试背景色并高亮显示

    echo -e "e[1;41m Red Bcakground e[0m"   ## 41 红色
    echo -e "e[1;40m Red Bcakground e[0m"   ## 40 黑色
    echo -e "e[1;0m Red Bcakground e[0m"    ## 0 重置
    echo -e "e[1;42m Red Bcakground e[0m"   ## 42 绿色
    echo -e "e[1;43m Red Bcakground e[0m"   ## 43  黄色
    echo -e "e[1;44m Red Bcakground e[0m"   ## 44  蓝色
    echo -e "e[1;45m Red Bcakground e[0m"   ## 45 紫色
    echo -e "e[1;46m Red Bcakground e[0m"   ## 46 天蓝色
    echo -e "e[1;47m Red Bcakground e[0m"   ## 47 白色
    echo -e "e[5;47m Red Bcakground e[0m"   ## 5 表示闪烁
    

    请添加图片描述

2.2 对于字体加粗的输出

Color_Off='\033[0m'       # Text Reset
# Bold
BBlack='\033[1;30m'       # Black
BRed='\033[1;31m'         # Red
BGreen='\033[1;32m'       # Green
BYellow='\033[1;33m'      # Yellow
BBlue='\033[1;34m'        # Blue
BMagenta='\033[1;35m'     # Magenta
BCyan='\033[1;36m'        # Cyan
BWhite='\033[1;37m'       # Whiteecho -e "${BGreen}I like Linux${Color_Off} bold."

2.3 对于字体斜体的输出

Color_Off='\033[0m'       # Text Reset
# Italic
IBlack='\033[3;30m'       # Black
IRed='\033[3;31m'         # Red
IGreen='\033[3;32m'       # Green
IYellow='\033[3;33m'      # Yellow
IBlue='\033[3;34m'        # Blue
IMagenta='\033[3;35m'     # Magenta
ICyan='\033[3;36m'        # Cyan
IWhite='\033[3;37m'       # Whiteecho -e "${IYellow}I like Linux${Color_Off} italic."

2.4 对于带下划线的输出

Color_Off='\033[0m'       # Text Reset
# Underline
UBlack='\033[4;30m'       # Black
URed='\033[4;31m'         # Red
UGreen='\033[4;32m'       # Green
UYellow='\033[4;33m'      # Yellow
UBlue='\033[4;34m'        # Blue
UMagenta='\033[4;35m'     # Magenta
UCyan='\033[4;36m'        # Cyan
UWhite='\033[4;37m'       # Whiteecho -e "${UBlue}I like Linux${Color_Off} underline."

2.5 对于闪烁效果的输出

Color_Off='\033[0m'       # Text Reset
# Slow blink
SbBlack='\033[5;30m'       # Black
SbRed='\033[5;31m'         # Red
SbGreen='\033[5;32m'       # Green
SbYellow='\033[5;33m'      # Yellow
SbBlue='\033[5;34m'        # Blue
SbMagenta='\033[5;35m'     # Magenta
SbCyan='\033[5;36m'        # Cyan
SbWhite='\033[5;37m'       # Whiteecho -e "${SbMagenta}I like Linux${Color_Off} slow blink."

三、小结

把今天最好的表现当作明天最新的起点..~

  投身于天地这熔炉,一个人可以被毁灭,但绝不会被打败!一旦决定了心中所想,便绝无动摇。迈向光明之路,注定荆棘丛生,自己选择的路,即使再荒谬、再艰难,跪着也要走下去!放弃,曾令人想要逃离,但绝境重生方为宿命。若结果并非所愿,那就在尘埃落定前奋力一搏!

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

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

相关文章

Doris:StreamLoad导入数据

目录 1.基本原理 2.支持数据格式 3.StreamLoad语法 3.1.请求参数 3.2.返回参数 4.StreamLoad实践 4.1.使用 curl命令 4.2.使用Java代码 Stream load 是一个同步的导入方式,用户通过发送 HTTP 协议发送请求将本地文件或数据流导入到 Doris 中。Stream load 主…

免费记课时小程序-全优学堂

1. 教师使用小程序记上课 使用步骤 创建了员工账号,员工需设置为教师为班级进行排课使用系统账号绑定小程序,记上课 #1.1 创建员工账号 通过系统菜单’机构设置->员工管理‘,添加本机构教师及其他员工。 添加过程中,可设置…

ffmpeg mp3截取命令,视频与mp3合成带音频视频命令

从00:00:03.500开始截取往后长度到结尾的mp3音频(这个更有用,测试好用) ffmpeg -i d:/c.mp3 -ss 00:00:03.500 d:/output.mp3 将两个音频合并成一个音频(测试好用) ffmpeg -i "concat:d:/c.mp3|d:/output.mp3&…

CSS3设计动画样式

CSS3动画包括过渡动画和关键帧动画,它们主要通过改变CSS属性值来模拟实现。我将详细介绍Transform、Transitions和Animations 3大功能模块,其中Transform实现对网页对象的变形操作,Transitions实现CSS属性过渡变化,Animations实现…

Git复制代码

目录 一、常用下载代码 1.登录Git克隆SSH​编辑 2.新建文件然后右键点击Git Bash Here 3.git clone Paste 二. 本地下载 1.从本地进入页面 2.生成代码——>导入——>生成代码后下载 3.解压道相应位置 一、常用下载代码 1.登录Git克隆SSH 2.新建文件然后右键点击…

C# list<T>去重

文章目录 C# list<T>去重值类型去重List<object>object is intobject is decimalobject is charobject is boolobject is string List<int>List<string> 引用类型去重 C# list去重 值类型去重 List object is int //object is intList<object&g…

图像二值化阈值调整——cv2.threshold方法

二值化阈值调整&#xff1a;调整是指在进行图像二值化处理时&#xff0c;调整阈值的过程。阈值决定了将图像中的像素分为黑色和白色的界限&#xff0c;大于阈值的像素被设置为白色&#xff0c;小于等于阈值的像素被设置为黑色。 首先画出灰度直方图&#xff1a;横坐标是灰度值…

制造行业数字化运维破局之道

项目背景 某大型汽车制造集团&#xff0c;致力于通过数字化、智能化运营手段为用户提升提供高品质的汽车产品和服务。IT部门不仅为内外部持续提供服务&#xff0c;同时为业务运营与核心系统运行提供重要支撑。数字化运维作为数字化转型的核心基础&#xff0c;不但要保障数据安…

3D网页游戏外包开发引擎

3D网页开发引擎是用于创建具有三维图形、虚拟现实和交互性的网页应用程序的工具。以下是一些常用的3D网页开发引擎以及它们的主要特点&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.Three.js&…

使用 Curl 和 DomCrawler 下载抖音视频链接并存储到指定文件夹

项目需求 假设我们需要从抖音平台上下载一些特定的视频&#xff0c;以便进行分析、编辑或其他用途。为了实现这个目标&#xff0c;我们需要编写一个爬虫程序来获取抖音视频的链接&#xff0c;并将其保存到本地文件夹中。 目标分析 在开始编写爬虫之前&#xff0c;我们需要了…

Redis Twemproxy 集群,水平扩展 ,扩容方案

文章目录 一、概述二、Twemproxy 分布模式三、测试规划四、Redis 服务实例准备4.1 配置Redis实例4.2 创建关资源4.3 启动Redis服务实例 五、Twemproxy 安装准备六、Twemproxy 安装及集群配置6.1 安装 Twemproxy6.2 配置 Twemproxy6.3 启动 twemproxy6.4 测试 twemproxy 集群 如…

如何使用 NFTScan NFT API 在 Polygon 网络上开发 Web3 应用

Polygon 以前被称为 Matic Network&#xff0c;是一种扩展的解决方案&#xff0c;它提供多种工具来加快并降低区块链网络上交易的成本和复杂性。然而&#xff0c;其区块链上的大量活动使以太坊因增长的传输成本和拥挤的流量几乎瘫痪。Polygon 诞生的主要目的是帮助以太坊解决链…

Docker学习——①

文章目录 1、什么是虚拟化、容器化&#xff1f;2、为什么要虚拟化、容器化&#xff1f;3、虚拟化实现方式3.1 应用程序执行环境分层3.2 虚拟化常见类别3.3 常见虚拟化实现3.3.1 主机虚拟化(虚拟机)实现3.3.2 容器虚拟化实现3.3.3 空间隔离实战--基础知识3.3.4 PID 隔离3.3.5 Mo…

springboot+vue基于Hadoop短视频流量数据分析与可视化系统的设计与实现【内含源码+文档+部署教程】

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…

HarmonyOS(二)—— 初识ArkTS开发语言(中)之ArkTS的由来和演进

前言 在上一篇文章HarmonyOS&#xff08;二&#xff09;—— 初识ArkTS开发语言&#xff08;上&#xff09;之TypeScript入门&#xff0c;我初识了TypeScript相关知识点&#xff0c;也知道ArkTS是华为基于TypeScript发展演化而来。 从最初的基础的逻辑交互能力&#xff0c;到…

C++类和对象万字详解(典藏版)

文章目录 前言认识类和对象使用 struct 定义类class 定义类类的声明和定义分离类大小的计算this指针this指针的常见的面试题 构造函数与构析函数构造函数初始化列表 构析函数默认生成的构造函数和构析函数 拷贝构造函数默认类型转化与 explicit 关键字 static 成员变量运算符重…

【云原生基础】了解云原生,什么是云原生?

&#x1f4d1;前言 本文主要讲了云原生的基本概念和原则的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日一句&#x…

分享一个抖音视频解析神器~

怎么样下载抖音视频&#xff1f;相信很多人都有过这样的困惑。作为一个资深短视频剪辑工作者&#xff0c;常常需要用到各种视频素材&#xff0c;其中不乏需要从抖音上下载的&#xff0c;因此我也尝试过许多下载工具&#xff0c;但是效果都不大满意&#xff0c;直到有一次朋友给…

SpringBoot可以同时处理多少请求?

前言 前两天面试的时候&#xff0c;面试官问我&#xff1a;一个ip发请求过来&#xff0c;是一个ip对应一个线程吗&#xff1f;我突然愣住了&#xff0c;对于SpringBoot如何处理请求好像从来没仔细思考过&#xff0c;所以面试结束后就仔细研究了一番&#xff0c;现在就来探讨一…

C++——list

目录 list介绍 list的函数接口 构造函数 push_front和pop_front push_back和pop_back insert erase 迭代器 front和back size resize empty clear list::sort unique reverse 迭代器的实现 list介绍 list是一种可以在常数范围内在任意位置进行插入和删除的序列…