Snippets

kamome Mew progress_bar

Created by kamome Mew last modified
#!/bin/bash

progress_bar () {
    # progress_bar progress_now [progress_max] [comment]
    # maxに指定なければ progress_max = 100 に固定
    if [ $3 ] ;then
        progress_max=$2
        comment=$3
    else
        if expr "$2" : '[0-9]*' > /dev/null ; then
            progress_max=$2
        else
            comment=$2
        fi

    fi
    progress_now=$1
    progress_max=`expr "$progress_max" \| 100`
    comment=`expr "$comment" \| "Processing..."`
    progress_size=40
    progress_per=`echo "$progress_now" \* 100 / "$progress_max" |bc`
    progress_currentnum=`echo "$progress_now"*"$progress_size"/"$progress_max"|bc`
    progress_arrow="";progress_space=""
    for i in `seq  $progress_currentnum`;do
      progress_arrow="$progress_arrow="
    done
    progress_countspace=`echo $progress_size-$progress_currentnum|bc`
    for i in `seq  $progress_countspace`;do
      progress_space="$progress_space "
    done
    printf "$comment[$progress_arrow>$progress_space] $progress_per%%\r"
    if [ $progress_max -eq $progress_now ];then
    printf "$comment[$progress_arrow>$progress_space] completed.\r"
    echo
    fi
}


#for i in `seq 100`
#do
#  progress_bar $i  処理中
#  sleep 0.05
#done
#progress_bar 2 1

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.