Bash Script – Temporizador de cuenta atrás emulando barra de progreso
Posted in Scripting, Utilidades on Jul 21st, 2011
referencia: http://www.linuxtotal.com.mx/index.php?cont=info_shell_006
Basándome en el estupendo script del link de ref (un reloj fijo en la consola), lo he adaptado para tratar de hacer un temporizador de espera de cuenta atrás, de 20 minutos por ejemplo, para un script en bash shell, y que muestre los minutos que van quedando emulando una barra de progreso. Se puede definir en una función y llamarlo cuando se necesite.
Lógicamente se puede hacer la espera simplemente con un sleep 1200
Pero así queda más chulo
#!/bin/bash
#################################################################
# ref http://www.linuxtotal.com.mx/index.php?cont=info_shell_006
#################################################################
# Adapted by JavCasta - 2011 - http://javcasta.com/cv/
#################################################################
# espera de 20 minutos
# fecha en sg
ahora=$(date +%s)
# fecha + 20 minutos en sg
despues=$(date --date='+20 min' +%s)
# bucle de la espera
# bucle se rompe si var ahora > var despues
while [ ${ahora} -le ${despues} ]; do
ahora=$(date +%s)
# color del indicador de minutos en var muestra, en verde invertido
# setaf 2 = verde, smso = invertido
COLOR=`tput setaf 2; tput smso`
# se regresa a texto normal, sino todo saldría verde
NORMAL=`tput sgr0`
# var muestra = (despues - ahora ) / 60 sg
muestra=$(expr $despues - $ahora)
muestra=$(expr $muestra / 60)
# mostramos los minutos que quedan, se ira incrementado cada sg
# emulando una barra de progreso
echo -n $COLOR$muestra$NORMAL
# el ciclo se ejecuta cada segundo
sleep 1
done
Y voila



















Información Bitacoras.com…
Valora en Bitacoras.com: Nuevo post: Bash Script – Temporizador de cuenta atrás emulando barra de progreso (http://wp.me/pLnOv-1Yi)34 minutes ago via javcasta – Javier Castañón referencia: http://www.linuxtota…