Advertisement
Guest User

FabioLimaCE

a guest
Feb 20th, 2010
535
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.62 KB | None | 0 0
  1. #!/bin/bash
  2. # Bateria: programa de medicao de status da bateria.
  3. # Autor: Fabio Lima CE
  4. # Data: 25-12-2009
  5.  
  6. # Lendo os arquivos de parametros de
  7. # kernel para obter as informacoes
  8. # e o status da bateria.
  9. echo ""
  10. cat /proc/acpi/battery/BAT1/info  \
  11. | grep "last full capacity:"      \
  12. | cut -c26-29                     \
  13. > /tmp/bat-capacity              
  14. BATCAP=$(cut -f1 -d" " /tmp/bat-capacity)
  15. echo "    Ultimo carregamento:       $BATCAP mAh"
  16.  
  17. cat /proc/acpi/battery/BAT1/state \
  18. | grep "remaining capacity:"      \
  19. | cut -c26-29                     \
  20. > /tmp/bat-remaining
  21. BATREM=$(cut -f1 -d" " /tmp/bat-remaining)
  22. echo "    Capacidade atual:          $BATREM mAh"
  23.  
  24. echo " ($BATREM * 100) / $BATCAP " | bc \
  25. > /tmp/bat-percent
  26. BATPER=$(cat /tmp/bat-percent)
  27.  
  28. echo "    Percentual remanecente:    $BATPER%"
  29.  
  30. # Simulando uma barra de progresso para
  31. # mostrar o nivel da bateria.
  32. # A barra de progresso tera a seguinte aparencia:
  33. #     Nivel [||||||||||..........]
  34.  
  35. # Variaveis do tipo string que armazenarao
  36. # as barras e os pontos da barra de progresso.
  37. BARRS=
  38. DOTS=
  39.  
  40. # Calculando a quantidade de barras
  41. # e armazenando na variavel BARRS.
  42. for i in $(seq -s  " " $BATPER)
  43. do
  44.     if [ $(echo "$i % 4" | bc) -eq 0 ]
  45.     then
  46.         BARRS=$(echo $BARRS\|)
  47.     fi
  48. done
  49.  
  50. # Calculando a quantidade de pontos
  51. # e armazenando na variavel DOTS.
  52. for j in $(seq -s " " $(echo "100 - $BATPER" | bc))
  53. do
  54.     if [ $(echo "$j % 4" | bc) -eq 0 ]
  55.     then
  56.         DOTS=$(echo $DOTS.)
  57.     fi
  58. done
  59.  
  60. # Juntando e mostrando as barras e os pontos.
  61. # Mostrando a barra de progresso pronta.
  62. echo ""
  63. echo "    Nivel: [$BARRS$DOTS]"
  64. echo ""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement