Menu + Relógio em tempo real
Publicado por Sandro Marcell (última atualização em 08/06/2011)
[ Hits: 6.457 ]
Homepage: http://sanmarcell.wordpress.com
A um tempo atrás, um amigo me pediu ajuda para montar um script que mostrasse um menu de opções juntamente com um relógio no canto inferior do terminal, e recentemente aqui no VoL surgiu uma dúvida parecida. E para ambos envie exemplos parecidos! Então resolvi postar esse exemplo caso alguém também tenha o mesmo tipo de dúvida.
#!/bin/bash --norc # # Exemplo basico que mostra um "menu" com relogio em tempo real # # Sandro Marcell <sandro_marcell@yahoo.com.br> # Boa Vista, Roraima - 12/02/2010. # # Mais detalhes: # - man tput # - man date # - man kill # - man bash # PATH="/bin:/usr/bin:/sbin:/usr/sbin" # Finaliza o processo disparado em background no momento em que o script # receber um dos sinais listados. trap 'kill -9 $!' 0 1 2 3 15 # Define-se a funcao que ira mostrar o relogio function mostraRelogio { local colunas linhas posicao_linha posicao_coluna # Numero de colunas/linhas no terminal correte colunas=`tput cols` linhas=`tput lines` # Para evitar que haja "vazamento" de caracteres # subtrai-se os respectivos valores da quantidade # de linhas/colunas correntes # OBS.: Esses valores estao relacionados a quantidade # de caracteres mostrados pelo comando 'date'! posicao_coluna=$(($colunas - 21)) posicao_linha=$(($linhas - 2)) while true do # 1 - Salva-se a posicao corrente do cursor # 2 - Move-se o cursor para as novas posicoes # 3 - Mostra o relogio # 4 - Restaura-se a posicao original do cursor tput sc tput cup $posicao_linha $posicao_coluna date "+%a %d %b, %X" tput rc # Atualiza o relogio sleep 1s done return 0 } # Dispara a funcao em background para que seja possivel mostrar # o menu de opcoes mostraRelogio & # Um menu qualquer aqui! cat <<FIM Opcoes disponiveis para escolha: 1 - Mostrar informacoes sobre a distro em uso 2 - Mostrar versao do kernel 3 - Mostrar uso do HD 4 - Mostrar uso da memoria RAM FIM read -p "Escolha uma das opcoes acima [1-4]: " escolha case $escolha in 1) cat /etc/[A-Za-z]*[_-][rv]e[lr]* ;; 2) uname -sr ;; 3) df -Th ;; 4) free -mt ;; *) echo "Opcao invalida!" esac # Fim
Script para reconhecer MP4Player no Ubuntu
Gerando logs para arquivos sem sobrescrever
System Software 2.1 - Instale e remova repositórios e programas de forma simples
Dialog, script de configuração de rede
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
criar perfil tempoario no Active Directory samba4-21 (1)
Problemas na inicialização do sistema (2)
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (1)