Cronometro em shell
Publicado por Raimundo Alves Portela (última atualização em 30/09/2011)
[ Hits: 13.976 ]
Homepage: http://portelanet.com
Fiz para agradar a esposa, ela queria algo para controlar o tempo que fica estudando, como eu estava brincando com shell acabei topando fazer.
Com certeza existe algo algo mais útil, mais que mal tem né ;-)
Obs.: Não mede o tempo precisamente pois há a perda nos cálculos e demais comandos usados, mas para um ser humano é algo quase imperceptível, felizmente.
Agradeço ao @SMarcell que citou o stty no tópico http://www.vivaolinux.com.br/topico/Shell-Script/Capturar-teclar-quando-presionada, que usei para permitir capturar a entrada via telado sem pausar o script.
Espero que gostem.
#!/bin/bash
# cronometro em shell
# Desenvolvido por: Raimundo Portela - rai3mb@gmail.com
# Objetivo: Agradar a esposa, ela queria algo para controlar o tempo que fica
# estudando, como eu estava brincando com shell acabei topando fazer.
# Deve ter algo mais útil, mais que mal tem né ;-)
# Obs.: Não mede o tempo precisamente pois ha a perda nos calculos e demais comandos
# para um ser humano é algo quase imperceptível, felizmente.
#------------------------------------------------------------------------------
s=00
m=00
h=00
tecla=""
function _tela() {
clear
echo "
--------------------------------------------------------------------------------
o ~ o
/ v \\
----------ooO------Ooo------------
[ Relógio Shell ] "
printf " %02dh:%02dm:%02ds " $h $m $s
echo -e "\n [ Viva o Linux! ]
----------------------------------
^ ^
--------------------------------------------------------------------------------"
echo ":: 'p' para pausar, 'c' para continuar e 's' para sair ::"
}
function _relogio() {
_tela
sleep 1
s=$((s+1))
[ $s -eq 60 ] && m=$((m+1)) && s=00
[ $m -eq 60 ] && h=$((h+1)) && m=00
}
function _pausar() {
while :
do
_tela
sleep 1
read tecla
[ "$tecla" = "c" ] && clear && break
done
}
function _main() {
# Poe o terminal em modo especial de interpretacao de caracteres
stty -echo -icanon min 0
while :
do
[ "$tecla" = "s" ] && break
[ "$tecla" = "p" ] && _pausar
_relogio
read tecla
done
# Restaura o modo padrao
stty sane
exit 0
}
_main
Firewall com Iptable - rc.Firewall
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - LÊ O BANCO E EXIBE OS DADOS
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (19)
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









