Cronometro em shell
Publicado por Raimundo Alves Portela (última atualização em 30/09/2011)
[ Hits: 13.998 ]
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
Monitorando o serviço do Squid utilizando como Proxy Transparente
Calcular sub-rede, listar e salvar MACs e IPs da rede local
Instalando e configurando o AIDE em 15 minutos
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
OCS Inventory NG: Instalação de Agentes Linux e Windows + Autenticação HTTP
O que houve com slackware ??? (7)
Removere linux-image-6... [RESOLVIDO] (2)
Quando vocês pararam de testar distros? (19)









