shell实现简单的进度条

Posted 巴山雨夜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell实现简单的进度条相关的知识,希望对你有一定的参考价值。

实现printf的有色输出:参考链接

实现代码:

#!/bin/bash


label=('|' '/' '-' '\\\\')
str=''
str1='' 
str2=''
k=0 #表示百分比进度

for i in 1..100
do
	str+=" "	
done

for j in 0..200
do
	let  n=j%4
	printf "\\033[1;47m%s\\033[0m [%d%%] [%c] \\r" "$str" "$k" "$label[$n]"
	printf "\\033[1;46m%s\\033[0m\\r" "$str1"
	printf "\\033[1;44m%s\\033[0m\\r" "$str2"
	if [ $j -lt 100 ] ; then 
	str1+=' '
	fi
	if [ $j -ge 20 -a $j -lt  120 ] ; then
	str2+=' '
	let k++
	elif [ $j -ge 120 ]  ; then
		break
	fi
	sleep 0.1
done

echo ""

实现结果:



以上是关于shell实现简单的进度条的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本实现转圈、进度条等效果

shell进度条怎么显示脚本执行进度

shell脚本实现进度条

进度条——shell脚本实现

shell实现的进度条

用shell实现一个进度条