echo 在shell及脚本中显示色彩及闪烁警告效果

本文详细介绍了如何在Shell脚本中使用echo命令显示各种颜色和闪烁效果,包括定义颜色变量和颜色动作的方法,以及如何在实际应用中调用这些设置。

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

在shell脚本编写中,echo用于输出字符串等提示信息,当我们需要格外显示色彩及闪烁效果如下:

一、在执行shell中显示色彩:

语法格式:

echo -e "\033[颜色1:颜色2m 要展示的文字 \033[0m"

说明:

  • -e选项:表示允许反斜杠(对字符)转义。
  • \033[颜色1;颜色2m:称为转义序列,它本身是一个整体,中间不要有空格。
  • \033[:转义序列的开始。其中\033代表Esc符号,也可以使用\E或\e来代替。
  • 颜色1和颜色2:表示字体的前景色或背景色,至于颜色1和颜色2哪一个表示前景色,哪一个表示背景色,由其设定的数值来决定,前景色和背景色的数值空间是不同的。
  • m:转义序列的终止标志。
  • \033[0m:表示将颜色恢复回原来的配色。

 我们可以用一张原理图来理解:

所涉及的颜色如下:

二、在shell脚本中显示色彩

①定义颜色变量

 1 [root@bqh-117 scripts]# vim echoys.sh 
 2 #!/bin/sh
 3 #定义颜色变量
 4 RED='\E[1;31m'      # 红
 5 GREEN='\E[1;32m'    # 绿
 6 YELOW='\E[1;33m'    # 黄
 7 BLUE='\E[1;34m'     # 蓝
 8 PINK='\E[1;35m'     # 粉红
 9 RES='\E[0m'         # 清除颜色
10 
11 #用echo -e来调用
12 echo -e "${RED} this is red color ${RES}"
13 echo -e "${GREEN} this is green color ${RES}"
14 echo -e "${YELOW} this is red yelow ${RES}"
15 echo -e "${BLUE} this is blue color ${RES}"
16 echo -e "${PINK} this is pink color ${RES}"

②定义颜色动作

 1 [root@bqh-117 scripts]# vim echoys1.sh 
 2 #!/bin/sh
 3 #定义颜色动作, 把echo -en也定义到变量中
 4 SETCOLOR_SUCCESS="echo -en \\E[1;32m"
 5 SETCOLOR_FAILURE="echo -en \\E[1;31m"
 6 SETCOLOR_WARNING="echo -en \\E[1;33m"
 7 SETCOLOR_NORMAL="echo  -en \\E[0;39m"
 8  
 9 #使用时直接调用颜色动作即可
10 $SETCOLOR_SUCCESS && echo SUCCESS   
11 $SETCOLOR_FAILURE && echo FAILURE   
12 $SETCOLOR_WARNING && echo WARNING   
13 $SETCOLOR_NORMAL  && echo NORMAL

说明:

第二种方法和第一种方法的思路类似,唯一不同的是我们把 echo 也加入到了定义中。这样用时不用频繁输入 echo 了,不过,需要注意其中的一些细节:

1)需要增加-n选项,这样引用时不会出现换行的问题。

2)\\本质是\,在双引号中反斜线符号一定要写成\\

3)引用变量要放到其他语句前面,并使用&&连接。

三、在shell中显示颜色并提示闪烁警示:

 1 [root@bqh-117 scripts]# vim echoys.sh 
 2 #!/bin/sh
 3 #定义颜色变量
 4 RED='\E[1;31m'        # 红
 5 GREEN='\E[1;32m'    # 绿
 6 YELOW='\E[1;33m'    # 黄
 7 BLUE='\E[1;34m'       # 蓝
 8 PINK='\E[1;35m'       # 粉红
 9 SHAN='\E[33;5m'      #黄色闪烁警示
10 RES='\E[0m'              # 清除颜色
11 
12 #用echo -e来调用
13 echo -e "${SHAN} this is yelow flashing warning ${RES}"  #黄色闪烁警示调用效果
14 echo -e "${GREEN} this is green color ${RES}"
15 echo -e "${YELOW} this is red yelow ${RES}"
16 echo -e "${BLUE} this is blue color ${RES}"
17 echo -e "${PINK} this is pink color ${RES}"

  ok ,以上用法相信在今后的shell中会带来很多色彩,让用户有一个更高的视觉效果。

转载于:https://www.cnblogs.com/su-root/p/10743544.html

### 如何在 Shell 脚本中设置字体颜色 在 Shell 脚本中,可以通过特定的转义序列来改变输出文本的颜色。这些转义序列由 `\033[` 开始,随后跟一系列表示颜色和其他属性的代码,并以 `m` 结束。 #### 基础语法 为了应用不同的颜色效果,在字符串前加上相应的控制码即可实现所需样式: - 设置前景色(文字颜色):`\033[3Xm`,其中 X 是代表具体颜色编号。 - 设置背景色:`\033[4Xm`,同样地,X 表示对应的颜色值。 - 复合格式化:可以将多个参数连在一起使用,比如同时指定前景色和背景色以及额外的效果如加粗或下划线等。 例如要创建带有蓝色背景、白色前景并带闪烁效果文字 "So Cool!" 可以这样写[^1]: ```bash echo -e "\033[44;37;5m So Cool! \033[0m" ``` 这里 `-e` 参数告诉 `echo` 解析反斜杠开头的特殊字符;而最后面的 `\033[0m` 则用来重置所有先前定义过的格式以便恢复正常显示[^2]。 对于更复杂的场景,还可以预先定义一些变量保存常用的色彩配置,从而简化后续调用过程中的编写工作量。下面是一个简单的例子展示了如何利用这种方式打印不同类型的消息[^3]: ```bash #!/bin/bash # 定义颜色常量 Green="\033[32m" # 绿色前景 Red="\033[31m" # 红色前景 Yellow="\033[33m" # 黄色前景 GreenBG="\033[42;37m" # 绿底白字 RedBG="\033[41;37m" # 红底白字 Font="\033[0m" # 默认状态(清除所有属性) # 构建消息模板 Info="${Green}[信息]${Font}" Warning="${Yellow}[警告]${Font}" OK="${Green}[OK]${Font}" Error="${Red}[错误]${Font}" # 输出不同类型的提示信息 echo -e "${OK} $GreenBG 这是一条确认信息 ${Font}" echo -e "${Info} 这是一条标准输出的信息 ${Font}" echo -e "${Warning} $Yellow 这是一警告的信息 ${Font}" echo -e "${Error} ${RedBG} 这是一条错误的信息 ${Font}" ``` 通过上述方法可以在 Shell 中灵活调整命令行界面下的视觉呈现方式,使得日志记录更加直观易读。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值