Checar a carga da bateria (modo texto) com barra de status versão 1.0

Publicado por Evaldo Avelar Marques 13/08/2009

[ Hits: 12.781 ]

Homepage: http://evaldoavelar.blogspot.com/

Download bateria.sh




Monitora o  status da bateria e a sua carga com uma barra de progresso.

Trabalha em loop infinito, para sair tecle control-c.

  



Esconder código-fonte

#######################################
#  Medidor de carga da Bateria
#
# Descricaoo: Monitora o  estatus da bateria e a sua carga.
#         Trabalha em loop infinito, para sair tecle control-c
#
# Entradas: Nenhuma
# Saidas: Monitor de carga na saida padrao
#
# autor: Evaldo Avelar Marques agosto - 2009
# versao: 1.0
#
#######################################

#!/bin/bash


bat="BAT0"     #bateria a ser monitorada
intervalo=5;   #intervalo de atualizacao em segundos


 while : ; do
 

   clear;
   echo 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ;
   echo ''
   echo 'Monitorando a Bateria:' $bat ;
   echo ''

   carga=$( cat /proc/acpi/battery/$bat/state  | grep mAh | cut -c26-29) ;
   capacidade=$(cat /proc/acpi/battery/$bat/info  | grep full | cut -c26-29);
   estado=$(cat /proc/acpi/battery/$bat/state  | grep charging | cut -c26-39);

   echo 'Carga:' $carga 'mAh' ;
   echo 'Capacidade: '$capacidade 'mAh';
   echo -n 'Estado: ' 
   
   if [ $estado = "charging" ] ;
   then 
      echo -n "Carregando"
   else
      echo -n "Descarregando"   
   fi;

   echo ''

   # Calculo do percentual da bateria
   p=$(( $carga * 100 ));
   p=$(( $p / $capacidade )) ;

   echo '';
   echo '      ' $p '%' ;

   cont=$(( $p / 10 ));
   
   echo -n "0% "
   for (( i=0 ; i < 10 ; i++ ))
   do
           if [[ $i -lt $cont ]];
          then
         echo -n  "="
          else
         echo  -n "-"               
         fi;   
   done;
   echo -n " 100%"

   echo ''
   echo ''
   
   echo 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ;
   sleep $intervalo;
 done;

Scripts recomendados

Script para start,stop de .jar

Calculo de médias da UNIP

Ordenação de Listas

Agenda de telefone em Shell usando Dialog

Agendamento de compromissos com avisos baseados no horário


  

Comentários
[1] Comentário enviado por projeto_cem em 16/12/2010 - 12:28h

Aqui deu erro!!!! xD

[2] Comentário enviado por evaldoavelar em 16/12/2010 - 13:11h

vc tem que setar a bateria que vc quer monitorar, no meu caso a BAT0

bat="BAT0" #bateria a ser monitorada

[3] Comentário enviado por fabioyast em 05/12/2011 - 21:56h

Legal mano.
Gostei!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts