shell脚本实现多彩进度条
作者:lishitao_578
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了shell脚本实现多彩进度条的相关资料,需要的朋友可以参考下
#!/bin/bash
arr=("|" "/" "-" "\\")
while [ $i -le 100 ]
let index=i%4
let indexcolor=i%8
let color=30+indexcolor
printf "\e[0;$1m[%-100s][%d%%]%c\r" "$str" "$i" "${arr[$index]}"
printf "\n"
没错代码就这么简单 其实前面的都差不多就是下面的输出时颜色控制线面我们就介绍一下颜色控制的原理
终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表示为0x1B,八进制表示为033。多数转义序列超过两个字符,故通常以'ESC'和左括号'[‘开头。该起始序列称为控制序列引导符(CSI,Control Sequence Intro),通由‘\033['或‘\e['代替。
通过转义序列设置终端显示属性时,可采用以下格式:
\033[ Param {;P…}m 或 \e[ Param {;P…}m
其中,‘\033['或‘\e['引导转义序列,‘m'表示设置属性并结束转义序列。Param为属性值,{…}表示可选(多个参数之间用分号隔开,与顺序无关)。 转义序列相关的常用参数如下(通过man console_codes命令可查看更多的参数描述):
显示: 0(默认)、1(粗体/高亮)、22(非粗体)、4(单条下划线)、24(无下划线)、5(闪烁)、25(无闪烁)、7(反显、翻转前景色和背景色)、27(无反显)
颜色: 0(黑)、1(红)、2(绿)、 3(黄)、4(蓝)、5(洋红)、6(青)、7(白)
前景色为30+颜色值,如31表示前景色为红色;背景色为40+颜色值,如41表示背景色为红色。
设置格式:
\033[显示方式;前景色;背景色m输出字符串\033[0m 或
\e[显示方式;前景色;背景色m输出字符串\033[0m
部分内容来自网络,代码来由自己编写,有问题请评论
以上所述是小编给大家介绍的shell脚本实现多彩进度条,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具当前位置: >
> 有创意非常特别的10款CSS3进度条Loading动画
有创意非常特别的10款CSS3进度条Loading动画
脚本大小:7KB
软件语言:简体中文
脚本类型:
脚本授权:免费软件
更新时间:
脚本类别:CSS特效
相关链接: 未知官方&&
应用平台:
网友评分:
内容介绍热点排行下载地址相关内容
这是一款完全用css写成的翻页(分页)样式,模拟了digg,yahoo,等各样式效果。
继上次的50个css按扭(button)之后,现在抽了点时间弄了20个导航(navigation),本来也想用50个的,太时间有限只就弄20个了,老规矩要PSD档的在群留下email,或给我发em&
50个css做的button弄完了,说了早上给大家下载的,中午有事情在忙,所以现在才弄完,图片和CSS已经打包好了,大家可以下载,因为时间关系,有些button没有做成可伸CSS完成一个漂亮的登录框效果,而且还是仿Windows XP的样式,只不过是经典风格的XP,包含完整的资源文件,你下载后直接把相关文件拷贝就可用啦,先看看效果图在上边,是不转载白鹿本人写的CSS中常用的 reset.css文件,用于重置html默认样式,前几天正好在论坛上看到有些CSS新手请教如何写reset.css才是最好的,其实没有最好,只能说最适合自己一款非常实用的css3特效,实现了超好看的搜索框和按钮样式此动画由以下四个特性:图片切换的时间可控性;图片切换的效果可以自我控制;自定义开始结束位置一款基于CSS3和HTML5的自定义聊天窗口,这里要声明的是它并不能完成聊天的功能,只是提供了聊天窗口的UIWIN 8 metro风最大的特点就是扁平化,扁平化设计,今天给大家推荐的这款js网页特效代码,就是如此效果不适用任何JS代码,完全依靠CSS生成的折线图,实现过程比较巧妙
有创意非常特别的10款CSS3进度条Loading动画
CopyRight &
JB51.Net , All Rights Reserved用户名:chengchow
文章数:69
评论数:33
访问量:71801
注册日期:
阅读量:1297
阅读量:3317
阅读量:585228
阅读量:470875
51CTO推荐博文
1.&其实shell下也可以将输出的数据以表格的格式输出,看起来更加直观些。数据存放的aa文件里面,以空格/tab/回车分割,数据依次是姓名,年龄,性别,籍贯,序列#!/bin/bash
# It is a scripts of make tab
# "aa" is filename of store about info,
DI=(`cat aa`)
DATA_NUM=${#DI[*]}
echo -n -e "+------------------------------------------------------------------------------+\n"
printf "%-1s %-16s %-1s %-8s %-1s %-8s %-1s %-16s %-1s %-16s %-1s\n" \| name \| age \| sex \| native \| education \|
echo -n -e "+------------------+----------+----------+------------------+------------------+\n"
printf "%-1s %-16s %-1s %-8s %-1s %-8s %-1s %-16s %-1s %-16s %-1s\n" \| ${DI[i]} \| ${DI[i+1]} \| ${DI[i+2]} \| ${DI[i+3]} \| ${DI[i+4]} \|
echo -n -e "+------------------------------------------------------------------------------+\n"
for (( i=0;i&"$DATA_NUM";i=i+5 ))
exit 02.&shell&进度条控制关键命令:tput说&&明:这个进度条不是很理想,理想中的应该百分比在进度条后,而且位置固定才对,只是printf语句不好控制,所以改成了百分比随进度条移动。另外shell不支持浮点运算,用bc&-l算出来的数据取整数在$RATE_MAX不能整除$BAR_NUM是,会出现进度条到99%结束了,所以为了规避这个错误,在后面有添加了tput&rctput&ed&printf&"%-0s&%-15s""$BAR_PRO""&100%&completed."三句,勉强达到效果。实际应用,可以下面代码以模块的格式拷贝到执行的脚本中,修改$TIME_CO***OL为你脚本运行的时间,然后模块以后台模式运行,记得最后结束语句前加wait语句。#!/bin/bash
# It is a scripts of process bar.
# Variable "BAR" is use of control process bar color.
# Variable "TIME_CO***OL" is use of control the scripts run time.
# Variable "BAR_NUM" is use of control process bar length.
process_bar()
BAR=`echo -e "\033[32;42m \033[0m"`
TOP_NOTE="Starting get system info:"
END_NOTE='done.'
TIME_CO***OL=20
BAR_NUM=25
RATE_MAX=100
PER_TIME=`echo $TIME_CO***OL/$BAR_NUM | bc -l`
PER_RATE=`echo $RATE_MAX/$BAR_NUM | bc -l`
echo -n "$TOP_NOTE "
for (( i=1;i&=$BAR_NUM;i++ ))
BAR_PRO=$BAR_PRO$BAR
I=`echo $PER_RATE*$i | bc -l | awk -F . '{print $1}'`
printf "%-0s %-15s" "$BAR_PRO" "$I% completed."
sleep $PER_TIME
printf "%-0s %-15s" "$BAR_PRO" " 100% completed."
process_bar &
echo "done."
exit 0本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)