11_打印颜色

发布时间 2023-10-09 10:50:35作者: 鸟叔书
1.shell 颜色控制
#!/bin/bash

# 字体颜色
#   重置=0
#   黑色=30
#   红色=31
#   绿色=32
#   ***=33
#   蓝色=34
#   洋红=35
#   青色=36
#   白色=37.

# 背景颜色
#   重置=0
#   黑色=40
#   红色=41
#   绿色=42
#   ***=43
#   蓝色=44
#   洋红=45
#   青色=46
#   白色=47

# 前景色(文字颜色): echo -e "\e[${num}m有颜色的文字"
#   39默认前景色   30黑色  31红色         32绿色   33黄色     34蓝色          35品红   36青色   37浅灰
#       90深灰色   91红灯  92浅绿色  93淡黄色   94浅蓝   95浅洋红色   96浅青色  97白色

# 背景色: echo -e "\e[$(num)m有背景颜色的文字"
#   49默认背景颜色     40黑色       41红色          42绿色   43黄色         44蓝色         45品红       46青色      47浅灰
#   100深灰色         101红灯       102浅绿色       103淡黄色  104浅蓝    105浅洋红色     106浅青色      107白色

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

# 属性示例:
#   1    粗体高亮                    echo -e "\e[1mBold"
#   2    变暗                        echo -e "\e[2mDim"
#   4    下划线                        echo -e "\e[4mUnderlined"
#   5    闪烁                          echo -e "\e[5mBlink"
#   7    反转 (反转前景色和背景色)      echo -e "\e[7minverted"
#   8    隐藏(对密码有用)             echo -e "\e[8mHidden"

# 结合:
#   echo -e "\e[41;32m文字\e[0m"                      红色背景绿色字并清除属性
#   echo -e "\e[1;3H*\e[0m"                           第一行第三列输出一个*
#   echo -e "\e[3;3H\e[44;31m*\e[0m"                  第三行第三列输出一个蓝色背景红色字
#   echo -e "\e[5;31;42m文字\e[0m"                    闪烁、红色背景、绿色的文字并清除属性
#   echo -e "\e[3;3H\e[5;31;42m*************\e[0m"    第三行第三列输出一排闪烁的星

function init_color() {
    # 红色字
    echo -ne "\e[31mAAA\e[0m"

    # 红色背景
    echo -ne "\e[41m   \e[0m"

    echo -ne "\e[41m\e[34mAAA\e[0m"

    # 第三行第二列打印一个A
    echo -e "\e[3;2HA\e[0m"

    # 第三行第二列打印一个闪烁红色的A
    echo -e "\e[3;2H\e[31m\e[5mA\e[0m\e[0m\e[0m"
    echo -e "\e[3;2H\e[31m\e[5mA\e[0m"

}

init_color
2.打印棋盘
#!/bin/bash

function print_map() {
    for i in {1..8}; do
        for j in {1..8}; do
            sum=$((i + j))
            if [ $((sum % 2)) -eq 0 ]; then
                echo -ne "\e[46m \e[0m"
            else
                echo -ne "\e[47m \e[0m"
            fi
        done
        echo
    done
}

print_map