Para copias de seguridad, envios de ficheros, envio de alertas,... En definitiva para cualquier tipo de tarea que siga unos pasos que nosotros queremos mostrar por pantalla en formato progressbar.

Se puede configurar para poder elegir los carácteres a mostrar. Los que muestra son un mero ejemplo.

 

 

 

 

 

 

 

#!/bin/bash

# @param $1 Total de acciones a realizar.
# @param $2	La posición donde se encuentra actualmente la barra dentro del total.
# @param $3	Información visible al final de la barra.
function progressBar(){
    local total=$1
    local charsExtra=40
    let "charsExtra=$charsExtra-${#3}"
    let "status=$2+1"
    let "percentaje=$status*100/$total"
    let "rest=100-$percentaje"
    s=$(printf "%"$percentaje"s" "•")
    r=$(printf "%"$rest"s")
    e=$(printf "%"$charsExtra"s")
    let "percentaje=$status*100/$total"
    echo -ne "\r◘${s// /•}${r}◘ "$percentaje"% [Info] $3${e}"
}

#Ejemplo de uso

declare actions=( "init" "search" "search." "search.." "search..." "done" )

iTop=${#actions[@]}

for (( i=0; i<$iTop; i++ ));do
	progressBar "$iTop" "$i"  "LastAction:${actions[$i]}"
	sleep 1
done

 

  • No se han encontrado comentarios

Deja tus comentarios

Enviar un comentario como invitado

0 / 300 Restricción de Carateres
El texto debe estar entre 2-300 caracteres
Sus comentarios están sujetos a moderación por un administrador.