Shell中实现进度条的小脚本

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jerry_1126/article/details/82455019

用其他编程语言可以实现进度条的显示,其实在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 "" 起到换行作用

猜你喜欢

转载自blog.csdn.net/Jerry_1126/article/details/82455019