shell(13) : 打印带颜色字体

本文介绍了如何使用bash脚本实现颜色和格式控制,展示了如何在终端中输出不同颜色和效果的文字,包括函数定义与调用,以及颜色代码的使用方法。

参考 : https://www.jb51.net/article/141286.htm 

 

cat > log.sh << 'EOF'
#!/bin/sh


function info(){
    DATE_N=`date "+%Y-%m-%d %H:%M:%S"`
    echo -e "$DATE_N $@ "
}

function success(){
    DATE_N=`date "+%Y-%m-%d %H:%M:%S"`
    echo -e "$DATE_N\033[32m $@ \033[0m"
}

function error(){
    DATE_N=`date "+%Y-%m-%d %H:%M:%S"`
    echo -e "$DATE_N\033[31m $@ \033[0m"
}

EOF

测试

cat > test.sh << 'EOF'
#!/bin/sh
. ./log.sh
info "123"
success "123"
error "123"

EOF
sh test.sh

示例

#!/bin/bash 
# 
#下面是字体输出颜色及终端格式控制 
#字体色范围: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;30m 红底黑字 \033[0m" 
echo -e "\033[42;34m 绿底蓝字 \033[0m" 
echo -e "\033[43;34m 黄底蓝字 \033[0m" 
echo -e "\033[44;30m 蓝底黑字 \033[0m" 
echo -e "\033[45;30m 紫底黑字 \033[0m" 
echo -e "\033[46;30m 天蓝底黑字 \033[0m" 
echo -e "\033[47;34m 白底蓝字 \033[0m" 
#控制选项说明 
#\033[0m 关闭所有属性 
#\033[1m 设置高亮度 
#\033[4m 下划线 
echo -e "\033[4;31m 下划线红字 \033[0m" 
#闪烁 
echo -e "\033[5;34m 红字在闪烁 \033[0m" 
#反影 
echo -e "\033[8m 消隐 \033[0m " 
#\033[30m-\033[37m 设置前景色 
#\033[40m-\033[47m 设置背景色 
#\033[nA光标上移n行 
#\033[nB光标下移n行 
echo -e "\033[4A 光标上移4行 \033[0m" 
#\033[nC光标右移n行 
#\033[nD光标左移n行 
#\033[y;xH设置光标位置 
#\033[2J清屏 
#\033[K清除从光标到行尾的内容 
echo -e "\033[K 清除光标到行尾的内容 \033[0m" 
#\033[s 保存光标位置 
#\033[u 恢复光标位置 
#\033[?25| 隐藏光标 
#\033[?25h 显示光标 
echo -e "\033[?25l 隐藏光标 \033[0m" 
echo -e "\033[?25h 显示光标 \033[0m"

### 如何在 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、付费专栏及课程。

余额充值