Menu + Relógio em tempo real
Publicado por Sandro Marcell (última atualização em 08/06/2011)
[ Hits: 6.543 ]
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
Teste de hosts ativos em uma rede
Teste de Índice de Massa Corporal (IMC)
traduz_man - traduzir man pages
Renomear seu pendrive (Debian)
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (0)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (6)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)