shell脚本使用echo输出带颜色

本文介绍了如何在Shell脚本中使用echo命令实现文本颜色和背景颜色的改变,包括使用转义字符和颜色代码,提供了多种颜色搭配示例。

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

编写shell脚本时,为了输出显示更醒目些,需要对输出文字颜色进行改变,使用echo输出。echo用于在shell中打印变量的值,或者直接输出指定的字符串,在shell编程中极为常用, 在终端下打印变量value的时候也常常用到。echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

语法 :

echo(选项)(参数)


选项 :

-e:激活转义字符。

使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab;

\v 与\f相同;

\\ 插入\字符;

\nnn 插入nnn(八进制)所代表的ASCII字符;


参数 :

变量:指定要打印的变量。

实例

用echo命令打印带有色彩的文字:

echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"

例如:

echo -e "\033[41;36m something here \033[0m"

-e允许对列出的加反斜线转义的字符进行解释(激活转义字符),其中41的位置代表底色, 36的位置是代表字的颜色,

注:

1、字背景颜色和文字颜色之间是英文的""

2、文字颜色后面有个m

3、字符串前后可以没有空格,如果有的话,输出也是同样有空格

下面是相应的字和背景颜色,可以自己来尝试找出不同颜色搭配

例:

echo -e "\033[31m 红色字 \033[0m"

echo -e "\033[34m 黄色字 \033[0m"

echo -e "\033[41;33m 红底黄字 \033[0m"

echo -e "\033[41;37m 红底白字 \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"

颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37


背景色:

字背景颜色范围: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"

颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

文字闪动:

echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"

红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐


最后面控制选项说明:

\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 显示光标

转载于:https://my.oschina.net/HeAlvin/blog/656133

### 使用 Shell 脚本和 `echo` 命令打印图案或花的示例 以下是通过 Shell 脚本和 `echo` 命令实现打印简单图案或花朵形状的方法。可以通过组合多个字符串以及控制字符的位置来构建所需的图形。 #### 示例 1: 打印简单的三角形图案 以下是一个使用嵌套循环创建直角三角形的例子: ```bash #!/bin/bash for i in $(seq 1 5); do for j in $(seq 1 $i); do echo -n "*" done echo "" done ``` 此脚本输出如下内容[^1]: ``` * ** *** **** ***** ``` #### 示例 2: 打印倒置的三角形 如果想打印一个倒置的三角形,则可以调整外层循环的方向: ```bash #!/bin/bash height=5 for ((i=height;i>=1;i--)); do for ((j=1;j<=i;j++)); do echo -n "*" done echo "" done ``` 该脚本将生成这样的输出[^1]: ``` ***** **** *** ** * ``` #### 示例 3: 创建一朵简易的“花” 为了模拟花朵的效果,我们可以利用特定排列的星号(*)和其他符号形成花瓣状结构: ```bash #!/bin/bash echo " * " echo " *** " echo " ***** " echo " ******* " echo " ********* " echo " *** " echo " *** " ``` 运行以上脚本将会得到类似下面的结果[^1]: ``` * *** ***** ******* ********* *** *** ``` 这只是一个非常基础版本的“花”,更复杂的艺术设计可能需要借助其他工具或者编程语言完成。 #### 注意事项 当编写涉及大量重复模式或复杂几何形态的脚本时,考虑采用函数定义简化代码逻辑,并提高可维护性和重用率。此外,在实际应用过程中可以根据需求替换不同的字符集(比如ASCII Art),甚至引入颜色支持以增强视觉效果[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值