você está aqui: Home  → Arquivo de Mensagens Workshop Gratuito: Os Segredos do Shell, com o Prof. Julio Neves

Wait, um shell script que você pode usar no lugar do comando sleep

Colaboração: Elcio Luiz Ferreira

Data de Publicação: 07 de Fevereiro de 2006

Wait é um shell script que você pode usar no lugar do comando sleep, com a vantagem de apresentar um contador regressivo que dá noção ao usuário de quanto tempo ainda terá que esperar. Foi baseado na dica (http://www.dicas-l.com.br/dicas-l/20051216.php ) de Braulio dos Santos Junior.

A principal vantagem é o fato de o wait não apagar a tela, fazendo o redesenho apenas da linha de status, assim como o wget e o apt costumam fazer. Isso torna seu uso em scripts muito mais simples. Além disso, o tempo pode ser informado em minutos ou segundos e a mensagem de status pode ser personalizada.

Código do script:

#!/bin/bash

if [ "$1" == "" ] || [ "$1" == "--help" ] || [ "$1" == "-h" ];then
echo "Usage:
$0 [-m] time [message]

Examples:

$0 10
Waits 10 seconds

$0 -m 2
Waits 2 minutes

$0 120 'Remaining time: %t'
Waits 120 seconds showing a custom message. %t will be replaced by
the remaining time.

$0 -h
Displays this help
"
exit 0
fi

count=`echo $1-1|bc`
msg="$2"

if [ "$1" == "-m" ]; then
count=`echo $2*60-1|bc`
msg="$3"
fi

if [ "$msg" == "" ]; then
msg="%t remaining..."
fi


for i in `seq $count -1 0`; do

m=`echo $i/60|bc`
s=`echo $i-$m*60|bc`
if [ $s -lt 10 ];then
s=0$s
fi
echo -n "$msg   "|sed "s/%t/$m:$s/g"
sleep 1
echo -en "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"

done

Veja em: http://elcio.com.br/bash/wait/

Donwload do código fonte em: http://elcio.com.br/bash/wait/download/


IE7

http://www.ie7.com



Veja a relação completa dos artigos de Elcio Luiz Ferreira