用其他编程语言可以实现进度条的显示,其实在Shell脚本中也可以实现进度条显示。下面是个进度条的简单示例
#/bin/bash
progress_bar=''
for i in {0..100..2}
do
printf "process:[%-50s]%d%%\r" $progress_bar $i
sleep 0.2
progress_bar=#${progress_bar}
done
echo ""
这样,就会显示出类似于下面的进度条效果
process:[##### ]10%
对上面的那段小代码,简单解释一下:
- 先定义process_bar为空,后依次加#,递增
- 0到100之间,每次递增2,所以进度条使用%-50s来显示,其中-代表左对齐。50是字符串宽度
- %d来显示进度条的i,%%则代表百分号
- \r回车
- sleep 0.2每次间隔0.2秒
- echo "" 起到换行作用
|