Shell 显示带颜色字体

shell带颜色输出

echo -e "\033[31mHello\e[0m World"

【要点】
1、使用echo -e 命令
2、\033 或者 \e 或者 \x1B 作为转义开始符号(就像一般的转义符号是反斜线\),表示 字符
3、转移符号与颜色命令之间用 [ 分隔(放在一起的话\03331m,就分不清了,所以\033[31m )

【举例】

#绿色字
echo -e "Default \e[32mGreen"
#红色背景
echo -e "Default \e[41mRed"

字颜色[Foreground (text)]与背景颜色[Background]代码不一样

当终端能显示88或256色时,为了避免识别错误,不知道是前景色还是背景色,就用具体代码区分

#38;5 表示设置前景色,字体颜色  82,198是颜色值
echo -e "\e[38;5;82mHello \e[38;5;198mWorld"
#48;5 表示设置背景色,82是背景颜色值
echo -e "\e[40;38;5;82m Hello \e[30;48;5;82m World \e[0m"

测试你的终端支持的颜色

#前景色遍历
for i in {16..21} {21..16} ; do echo -en "\e[38;5;${i}m#\e[0m" ; done ; echo
#背景色遍历
for i in {16..21} {21..16} ; do echo -en "\e[48;5;${i}m \e[0m" ; done ; echo

测试终端颜色脚本

#!/bin/bash

# This program is free software. It comes without any warranty, to
# the extent permitted by applicable law. You can redistribute it
# and/or modify it under the terms of the Do What The Fuck You Want
# To Public License, Version 2, as published by Sam Hocevar. See
# http://sam.zoy.org/wtfpl/COPYING for more details.

for fgbg in 38 48 ; do # Foreground / Background
    for color in {0..255} ; do # Colors
        # Display the color
        printf "\e[${fgbg};5;%sm  %3s  \e[0m" $color $color
        # Display 6 colors per lines
        if [ $((($color + 1) % 6)) == 4 ] ; then
            echo # New line
        fi
    done
    echo # New line
done

exit 0

以后写脚本可以彩色输出,【颜色需要终端支持】

source: https://misc.flogisoft.com/bash/tip_colors_and_formatting

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值