Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
439
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.77 KB | None | 0 0
  1. #!/bin/bash --norc
  2. #
  3. # Exemplo basico que mostra um menu com relogio em tempo real
  4. # Autor: Sandro Marcell <sandro_marcell@yahoo.com.br>
  5. # Mais detalhes: man tput, man date, man kill, man bash
  6. #
  7. PATH="/bin:/usr/bin:/sbin:/usr/sbin"
  8.  
  9. # Finaliza o processo disparado em background no momento em que o script
  10. # receber um dos sinais listados.
  11. trap 'kill -9 $!' 0 1 2 3 15
  12.  
  13. # Define-se a funcao que ira mostrar o relogio
  14. function mostraRelogio {
  15.         local colunas linhas posicao_linha posicao_coluna
  16.  
  17.         # Numero de colunas/linhas no terminal correte
  18.         colunas=`tput cols`
  19.         linhas=`tput lines`
  20.  
  21.         # Para evitar que haja "vazamento" de caracteres
  22.         # subtrai-se os respectivos valores da quantidade
  23.         # de linhas/colunas correntes
  24.         # OBS.: Esses valores estao relacionados a quantidade
  25.         # de caracteres mostrados pelo comando 'date'!
  26.         posicao_coluna=$(($colunas - 21))
  27.         posicao_linha=$(($linhas - 2))
  28.  
  29.         while true
  30.         do
  31.             # 1 - Salva-se a posicao corrente do cursor
  32.             # 2 - Move-se o cursor para as novas posicoes
  33.             # 3 - Mostra o relogio
  34.             # 4 - Restaura-se a posicao original do cursor
  35.             tput sc
  36.             tput cup $posicao_linha $posicao_coluna
  37.             date "+%a %d %b, %X"
  38.             tput rc
  39.  
  40.             # Atualiza o relogio
  41.             sleep 1s
  42.          done
  43.  
  44.          return 0
  45. }
  46.  
  47. # Dispara a funcao em background para que seja possivel mostrar
  48. # o menu de opcoes
  49. mostraRelogio &
  50.  
  51. # Um menu qualquer aqui!
  52. echo -n "
  53. Opcoes disponiveis para escolha:
  54.  
  55. 1 - Mostrar informacoes sobre a distro em uso
  56. 2 - Mostrar uso do HD
  57. 3 - Mostrar uso da memoria RAM
  58.  
  59. Escolha uma das opcoes acima [1-3]: "
  60.  
  61. read escolha
  62.  
  63. echo ""
  64.  
  65. case $escolha in
  66.     1) cat /etc/[A-Za-z]*[_-][rv]e[lr]* ;;
  67.     2) df -Th ;;
  68.     3) free -mt ;;
  69.     *) echo "Opcao invalida!"
  70. esac
  71. # Fim
  72. # PS. Mantenha os creditos originais! ;)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement