Estou disponibilizando um script para verificação de status de bateria em notebooks.
Esse pequeno programa é escrito para Shell, mais especificamente Bourne Again Shell (Bash). Tive a idéia de fazê-lo para por em prática o que eu tenho estudado sobre a linguagem. A melhor maneira de aprender uma nova linguagem é praticando, não tem outro jeito!
Pra quem gosta de trabalhar em linha de comando esse programinha pode ser muito útil. Pelo menos pra mim está sendo...
Ele pode ser visualizado e baixado no Pastebin AQUI.
O código é este abaixo. Porém ele fica mais legivel no Pastebin.
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 ""
Nenhum comentário:
Postar um comentário