700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > shell脚本实现彩色进度条

shell脚本实现彩色进度条

时间:2021-10-05 07:36:51

相关推荐

shell脚本实现彩色进度条

在以前的博客中有用C语言实现的进度条,已经说明了进度条的实现原理,这里就不多说了,想看的直接点链接:

/eagle_1036077338/article/details/56280179

本节主要讲讲如何实现彩色的进度条,也就是如何控制进度条显示的颜色:

shell脚本中带颜色显示内容,需要参数-e,格式如下

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

例如:

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

其中41的位置代表底色, 36的位置是代表字的颜色

注:

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

2、文字颜色后面有个m

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

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

字颜色: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;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”

最后面控制选项说明

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

进度条源码实现:

#!/bin/bash

i=0

str=""

arr=( "|" "/" "-" "\\")

while [ $i -le 100 ]

do

let index=i%4

printf "\e[31m \033[46m [%-100s] \e[0m\e[30m \033[41m [%d%%]\e[0m\e[31m \033[43m [%c] \e[0m\r" "$str" "$i" "${arr[$index]}"

usleep 100000

let i++

str+='#'

done

结果截图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。