Blog de Javier Castañón – JavCastaPosts RSS Comments RSS


Nuevo post: Bash Script - Temporizador de cuenta atrás emulando barra de progreso (http://wp.me/pLnOv-1Yi)
@javcasta
Javier Castañón


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 :-)

Share
Clika en el altavoz para oir el postAltavoz


One Response to “Bash Script – Temporizador de cuenta atrás emulando barra de progreso”

  1. on 21 Jul 2011 at 21:58Bitacoras.com

    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

Leave a Reply

Los enlaces en los comentarios pueden encontrarse libres de nofollow.

?>