在 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,一经查实,立即删除!

相关文章

打印实心平行四边形和空心平行四边形

public class test3 {public static void main(String[]args){/*##########* ##########* ##########* ##########* ##########*/System.out.println("-------实心平行四边形----------");int i,a,b,c;for(i0;i<5;i){ai;while(a!0){System.out.print(&q…

el-select获取id和name

一般选中节点只会返回:value绑定的数据给v-model中&#xff0c;要想获取id和name一并传给后端&#xff0c;需要如下几步&#xff1a; 1、给选择框添加点击事件 input"selectChangeParent" 2、v-for中多添加一个参数 index <el-select v-model"inputForm.pr…

Doris:StreamLoad导入数据

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

在k8s中,etcd有什么作用?

在Kubernetes&#xff08;K8s&#xff09;中&#xff0c;etcd 是一个关键的组件&#xff0c;它扮演着集群状态存储的角色&#xff0c;具有以下作用&#xff1a; 分布式键值存储&#xff1a;etcd 是一个分布式键值存储系统&#xff0c;用于存储整个 Kubernetes 集群的配置信息、…

Linux虚拟网络设备之bridge

继前两篇介绍了tun/tap和veth之后&#xff0c;本篇将介绍Linux下常用的一种虚拟网络设备&#xff0c;那就是bridge(桥)。 Linux ip netns 命令-CSDN博客 veth-pair,netns-CSDN博客 图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN_veth 转发 有拷贝-…

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

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

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

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

CSS3设计动画样式

CSS3动画包括过渡动画和关键帧动画&#xff0c;它们主要通过改变CSS属性值来模拟实现。我将详细介绍Transform、Transitions和Animations 3大功能模块&#xff0c;其中Transform实现对网页对象的变形操作&#xff0c;Transitions实现CSS属性过渡变化&#xff0c;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;横坐标是灰度值…

LeetCode80. 删除有序数组中的重复项 II(JavaScript版)

LeetCode题目链接 题目描述&#xff1a;给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 …

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

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

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

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

这道经典SQL面试问题你会吗?

大家经常自嘲后端开发就是crud boy嘛&#xff0c;今天给大家看一道SQL题&#xff0c;我相信很多人写不出来。我们来看一下这个题目。 create table course (id int primary key,name varchar(32) not null ); create table student (id int primary key,name varchar(32) not …

使用 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…

批量导出 PPT的备注到一个txt文本中

使用宏&#xff08;Macro&#xff09;功能&#xff08;适用于 Windows 平台&#xff09; 打开 PowerPoint 幻灯片&#xff0c;并确保每个幻灯片上都添加了备注。 启用"开发人员"选项卡&#xff1a; 如果您已经看到 PowerPoint 的"开发人员"选项卡&#x…