Shell echo 输出带颜色内容

本文深入解析了Shell中使用颜色和样式的底层原理,包括背景和文本颜色、特殊显示效果及常用转义参数,提供了丰富的示例代码帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

基本语法

echo "\033[41;36m something \033[0m"

可以看到 "\033[ "  是成对出现的,这是固定语法,知道就行 , 然后第一个"\033[ "后面是 41;36m , 第二个"\033[ " 后面是0m" ,具体含义下面介绍:

 

第一个"\033[

中括号后面可以有一个值,也可以有两个值,以分号隔开,代表着要显示的文字的背景和颜色,默认都是窗口原本的颜色。

其中41的位置代表背景底色 ,36m的位置是代表文字的颜色 , 背景底色不加m , 文字颜色要加m

颜色对应的值分别如下:

背景的颜色范围是 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”


字体的颜色范围是 30m -- 37m

  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”

---------------------------------------------------------------------------------------------------

第二个"\033[

后面只有一个0m, 这个是控制某些特殊显示效果的,比如显示时光标的控制、闪烁等,基本上用不到。下面列出来,以供参考:

 

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

echo –e 参数可根据自己的系统选择,不加 –e 也可以。如果不加显示不出来,就加上,这个主要涉及到转义的问题。

我自己用到的部分shell如下:

#!/bin/bash

text=`cat /etc/passwd`

echo “\033[41;37m $text \033[0m”

转载于:https://my.oschina.net/u/2409113/blog/483041

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值