zoukankan      html  css  js  c++  java
  • linux 下shell实现一个进度条

    少废话,直接上代码

    #!/bin/bash
    
    # 这个echo是主要是为了换行
    echo " "
    
    # 获取当前控制台的屏幕宽度,需要扣去一点点位置,便于显示百分比,这里我选择12字符就可以了
    width=`stty size| awk '{print $2'}`
    width=$(($width-12))
    
    # 根据width得到能占满整行的进度条
    line=$(seq $width| awk '{print "#"}' | tr '
    ' ','| sed 's/,//g')
    #echo $line
    
    # 进度条显示
    # $1 已完成数
    # $2 总任务数
    progress()
    {   
        # 计算百分比
        percent=`echo $1*100/$2 | bc`
        # 计算进度条位置
        len=`echo $1*$width/$2|bc`
        # 注意最后的
    ,回车清除上一次的控制台输出
        printf "[%-${width}s][%d%%]
    " "${line:0:$len}" "$percent"
        sleep 1
    }
    
    
    progress 0 4
    progress 1 4
    progress 2 4
    progress 3 4
    progress 4 4
    
    # 小换行
    printf "
    "
    

    效果图,有时间我贴动图吧,暂时静态图忍忍

  • 相关阅读:
    F
    E
    D
    B
    A
    C
    I
    G
    F
    架构sass文件
  • 原文地址:https://www.cnblogs.com/westlin/p/14620922.html
Copyright © 2011-2022 走看看